import type { EventSpecMetadata } from "./eventSpec/AvoEventSpecFetchTypes"; export interface BaseBody { apiKey: string; appName: string; appVersion: string; libVersion: string; env: string; libPlatform: "react-native"; messageId: string; trackingId: string; sessionId: string; anonymousId: string; createdAt: string; samplingRate: number; publicEncryptionKey?: string; } export interface EventSchemaBody extends BaseBody { type: "event"; eventName: string; eventProperties: Array<{ propertyName: string; propertyType: string; encryptedPropertyValue?: string; children?: any; failedEventIds?: string[]; passedEventIds?: string[]; }>; avoFunction: boolean; eventId: string | null; eventHash: string | null; streamId?: string; eventSpecMetadata?: { schemaId?: string; branchId?: string; latestActionId?: string; sourceId?: string; }; } export declare class AvoNetworkCallsHandler { private apiKey; private envName; private appName; private appVersion; private libVersion; private publicEncryptionKey?; private samplingRate; private sending; private static trackingEndpoint; constructor(apiKey: string, envName: string, appName: string, appVersion: string, libVersion: string, publicEncryptionKey?: string); callInspectorWithBatchBody(inEvents: Array, onCompleted: (error: string | null) => any): void; bodyForEventSchemaCall(eventName: string, eventProperties: Array<{ propertyName: string; propertyType: string; children?: any; failedEventIds?: string[]; passedEventIds?: string[]; }>, eventId: string | null, eventHash: string | null, eventProps?: Record, metadata?: EventSpecMetadata | null): Promise; /** * Sends a validated event immediately, bypassing the batcher. * Matches Android SDK's reportValidatedEvent behavior. */ reportValidatedEvent(eventBody: EventSchemaBody): void; private createBaseCallBody; }