import { AvoInspectorEnvValueType } from "./AvoInspectorEnv"; import { AvoBatcher } from "./AvoBatcher"; import { AvoStorage } from "./AvoStorage"; import { AvoDeduplicator } from "./AvoDeduplicator"; export declare class AvoInspector { environment: AvoInspectorEnvValueType; avoBatcher: AvoBatcher; avoDeduplicator: AvoDeduplicator; apiKey: string; version: string; publicEncryptionKey?: string; private streamId?; private eventSpecCache?; private eventSpecFetcher?; private currentBranchId; static avoStorage: AvoStorage; private static _batchSize; static get batchSize(): number; static set batchSize(newSize: number); private static _batchFlushSeconds; static get batchFlushSeconds(): number; private static _shouldLog; static get shouldLog(): boolean; static set shouldLog(enable: boolean); constructor(options: { apiKey: string; env: AvoInspectorEnvValueType; version: string; appName?: string; publicEncryptionKey?: string; }); trackSchemaFromEvent(eventName: string, eventProperties: { [propName: string]: any; }): Promise>; private _avoFunctionTrackSchemaFromEvent; trackSchema(eventName: string, eventSchema: Array<{ propertyName: string; propertyType: string; children?: any; }>): void; private trackSchemaInternal; enableLogging(enable: boolean): void; extractSchema(eventProperties: { [propName: string]: any; }, shouldLogIfEnabled?: boolean): Array<{ propertyName: string; propertyType: string; children?: any; }>; setBatchSize(newBatchSize: number): void; setBatchFlushSeconds(newBatchFlushSeconds: number): void; /** * Handles branch change detection and cache storage for a fetched event spec. */ private handleBranchChangeAndCache; /** * Fetches event spec and validates the event against it. * Returns ValidationResult if spec is available, null otherwise. * Only runs in dev/staging environments. */ private fetchAndValidateEvent; /** * Merges validation results into the event schema. * Adds failedEventIds or passedEventIds to each property based on validation. */ private mergeValidationResults; /** * Merges validation result into a single property, recursively handling children. */ private mergePropertyValidation; /** * Sends a validated event immediately, bypassing the batcher. * Matches Android SDK's sendEventWithValidation behavior. */ private sendEventWithValidation; }