export declare const TELEMETRY_DEFAULT_CLIENT_BASE_PATH = "/api/telemetry"; export declare const TELEMETRY_JOURNEY_ENDPOINTS: { readonly start: "/journey/start"; readonly progress: "/journey/progress"; readonly interaction: "/journey/interaction"; readonly end: "/journey/end"; readonly appReady: "/journey/app-ready"; }; export declare const TELEMETRY_DEFAULT_JOURNEY_SESSION_STORAGE_KEY = "devvit.telemetry.journeySession"; export declare const TELEMETRY_DEFAULT_JOURNEY_STORAGE_KEY = "devvit.telemetry.journeySession"; export declare const TELEMETRY_DEFAULT_JOURNEY_IDLE_TIMEOUT_MS: number; export type JourneyReceiptStatus = 'JOURNEY_RECEIPT_UNSPECIFIED' | 'JOURNEY_RECEIPT_VALID' | 'JOURNEY_RECEIPT_DENIED_NOT_ALLOWLISTED' | 'JOURNEY_RECEIPT_DENIED_RATE_LIMITED' | 'JOURNEY_RECEIPT_DENIED_DUPLICATE' | 'JOURNEY_RECEIPT_INVALID' | 'JOURNEY_RECEIPT_DENIED_DISABLED' | 'JOURNEY_RECEIPT_DENIED_PLAYTEST'; /** * Structured feedback for a Journey telemetry attempt. * * The status mirrors the plugin proto contract, while the message is intended * for developer-facing diagnostics. Callers can log or display the message as * needed, but should use status for programmatic behavior. */ export type JourneyReceipt = { status: JourneyReceiptStatus; message: string; }; export declare const TELEMETRY_UNSPECIFIED_RECEIPT: JourneyReceipt; export type TelemetryJourneyEventResponse = { receipt: JourneyReceipt; }; export type TelemetryJourneyStartResponse = { /** * Unique journey id. * An empty string may be returned when a journey could not be started or reused. */ journeyId: string; } & TelemetryJourneyEventResponse; export type TelemetryJourneyStartRequest = Record; export type TelemetryJourneyProgressRequest = { journeyId: string; progress: number; action?: string; actionDetails?: string; }; export type TelemetryJourneyInteractionRequest = { journeyId?: string; action: string; actionDetails?: string; }; export type TelemetryGameResult = { win: boolean; score: number; }; export type TelemetryJourneyEndRequest = { journeyId: string; complete?: boolean; game?: TelemetryGameResult; }; export type TelemetryRouterErrorResponse = { error: string; } & TelemetryJourneyEventResponse; export type TelemetryResponse = T | TelemetryRouterErrorResponse; export type TelemetryAppReadyRequest = Record; export type TelemetryJourneyProgressResponse = TelemetryResponse; export type TelemetryJourneyInteractionResponse = TelemetryResponse; export type TelemetryJourneyEndResponse = TelemetryResponse; export type TelemetryAppReadyResponse = TelemetryResponse; export type TelemetryJourneySessionHelperOptions = { storageKey?: string; idleTimeoutMs?: number; }; export type TelemetryJourneySessionHelper = { getActiveJourneyId(): string | undefined; setJourneyId(journeyId: string): void; clearJourneyId(): void; isPersistent(): boolean; }; export type TelemetryClientOptions = { basePath?: string; fetch?: typeof fetch; storageKey?: string; idleTimeoutMs?: number; journeySession?: TelemetryJourneySessionHelper; }; //# sourceMappingURL=index.d.ts.map