import type { AgridAutocaptureElement, AgridFlagsResponse, AgridCoreOptions, AgridEventProperties, AgridCaptureOptions, JsonType, AgridRemoteConfig, FeatureFlagValue, AgridFeatureFlagDetails, AgridGroupProperties } from './types'; import { AgridPersistedProperty } from './types'; import { AgridCoreStateless } from './agrid-core-stateless'; export declare abstract class AgridCore extends AgridCoreStateless { private sendFeatureFlagEvent; private flagCallReported; private _shutdownPromise; protected _flagsResponsePromise?: Promise; protected _sessionExpirationTimeSeconds: number; private _sessionMaxLengthSeconds; protected sessionProps: AgridEventProperties; constructor(apiKey: string, options?: AgridCoreOptions); protected setupBootstrap(options?: Partial): void; private clearProps; on(event: string, cb: (...args: any[]) => void): () => void; reset(propertiesToKeep?: AgridPersistedProperty[]): void; protected getCommonEventProperties(): AgridEventProperties; private enrichProperties; getSessionId(): string; resetSessionId(): void; getAnonymousId(): string; getDistinctId(): string; registerForSession(properties: AgridEventProperties): void; unregisterForSession(property: string): void; identify(distinctId?: string, properties?: AgridEventProperties, options?: AgridCaptureOptions): void; capture(event: string, properties?: AgridEventProperties, options?: AgridCaptureOptions): void; alias(alias: string): void; autocapture(eventType: string, elements: AgridAutocaptureElement[], properties?: AgridEventProperties, options?: AgridCaptureOptions): void; groups(groups: AgridGroupProperties): void; group(groupType: string, groupKey: string | number, groupProperties?: AgridEventProperties, options?: AgridCaptureOptions): void; groupIdentify(groupType: string, groupKey: string | number, groupProperties?: AgridEventProperties, options?: AgridCaptureOptions): void; setPersonPropertiesForFlags(properties: { [type: string]: string; }): void; resetPersonPropertiesForFlags(): void; setGroupPropertiesForFlags(properties: { [type: string]: Record; }): void; resetGroupPropertiesForFlags(): void; private remoteConfigAsync; protected flagsAsync(sendAnonDistinctId?: boolean, fetchConfig?: boolean): Promise; private cacheSessionReplay; private _remoteConfigAsync; private _flagsAsync; private setKnownFeatureFlagDetails; private getKnownFeatureFlagDetails; protected getKnownFeatureFlags(): AgridFlagsResponse['featureFlags'] | undefined; private getKnownFeatureFlagPayloads; private getBootstrappedFeatureFlagDetails; private setBootstrappedFeatureFlagDetails; private getBootstrappedFeatureFlags; private getBootstrappedFeatureFlagPayloads; getFeatureFlag(key: string): FeatureFlagValue | undefined; getFeatureFlagPayload(key: string): JsonType | undefined; getFeatureFlagPayloads(): AgridFlagsResponse['featureFlagPayloads'] | undefined; getFeatureFlags(): AgridFlagsResponse['featureFlags'] | undefined; getFeatureFlagDetails(): AgridFeatureFlagDetails | undefined; getFeatureFlagsAndPayloads(): { flags: AgridFlagsResponse['featureFlags'] | undefined; payloads: AgridFlagsResponse['featureFlagPayloads'] | undefined; }; isFeatureEnabled(key: string): boolean | undefined; reloadFeatureFlags(options?: { cb?: (err?: Error, flags?: AgridFlagsResponse['featureFlags']) => void; }): void; reloadRemoteConfigAsync(): Promise; reloadFeatureFlagsAsync(sendAnonDistinctId?: boolean): Promise; onFeatureFlags(cb: (flags: AgridFlagsResponse['featureFlags']) => void): () => void; onFeatureFlag(key: string, cb: (value: FeatureFlagValue) => void): () => void; overrideFeatureFlag(flags: AgridFlagsResponse['featureFlags'] | null): Promise; captureException(error: unknown, additionalProperties?: AgridEventProperties): void; captureTraceFeedback(traceId: string | number, userFeedback: string): void; captureTraceMetric(traceId: string | number, metricName: string, metricValue: string | number | boolean): void; shutdown(shutdownTimeoutMs?: number): Promise; } //# sourceMappingURL=agrid-core.d.ts.map