import * as z from 'zod'; declare type ConfigData = z.infer; declare interface ConfigDataRemote { token: string | undefined; domains: readonly string[]; } declare const ConfigDataSchema: z.ZodObject<{ sessionTimeoutMs: z.ZodNumber; storageKey: z.ZodString; eventBufferKeyPostfix: z.ZodString; aggregationBufferKeyPostfix: z.ZodString; elementTagKey: z.ZodString; authData: z.ZodOptional; apiEndpoint: z.ZodOptional; resolverDomain: z.ZodString; resolverEndpointTl: z.ZodString; enableLeaveDialog: z.ZodBoolean; silentMode: z.ZodBoolean; }, z.core.$strip>; declare interface Debug { scope: string; message: string; timestamp: string; data?: Record; } declare type Metadata = z.infer; declare const MetadataPublicSchema: z.ZodObject<{ label: z.ZodOptional; }, z.core.$strip>; declare class SeonStream { #private; static version: string; constructor(configInput?: Partial); startStream(metadata?: Partial): Promise<{ metadata: Readonly; metadataRejectedProps: Record; streamId: string; }>; finishStream(): Promise; setElementTags(elementTagMap: Map): void; /** * Spreads the partial config into config data with input validation. * @returns A readonly clone of config and remote config alongside potentially rejected properties */ setConfig(config: Partial): { config: Readonly; remoteConfig: Readonly; rejected: Record; }; set onTimeout(callback: (() => void) | undefined); set onAuthError(callback: (() => void) | undefined); set onIpBan(callback: (() => void) | undefined); set onError(callback: ((error: Error) => void) | undefined); set onDebug(callback: ((debug: Debug) => void) | undefined); createCustomEvent(name: string, data?: string): void; } export default SeonStream; export { }