import { PostHog } from './posthog-core';
import { Survey, SurveyCallback, SurveyMatchType } from './posthog-surveys-types';
import { RemoteConfig } from './types';
import { SurveyEventReceiver } from './utils/survey-event-receiver';
export declare const surveyValidationMap: Record<SurveyMatchType, (targets: string[], value: string) => boolean>;
export declare function doesSurveyUrlMatch(survey: Pick<Survey, 'conditions'>): boolean;
export declare function doesSurveyDeviceTypesMatch(survey: Survey): boolean;
export declare class PostHogSurveys {
private readonly instance;
private _decideServerResponse?;
_surveyEventReceiver: SurveyEventReceiver | null;
private _surveyManager;
private _isFetchingSurveys;
private _isInitializingSurveys;
constructor(instance: PostHog);
onRemoteConfig(response: RemoteConfig): void;
reset(): void;
loadIfEnabled(): void;
getSurveys(callback: SurveyCallback, forceReload?: boolean): void;
private isSurveyFeatureFlagEnabled;
getActiveMatchingSurveys(callback: SurveyCallback, forceReload?: boolean): void;
checkFlags(survey: Survey): boolean;
private _canActivateRepeatedly;
canRenderSurvey(surveyId: string): void;
renderSurvey(surveyId: string, selector: string): void;
}