import { AnalyticsEvent } from '@voltro/runtime'; import { AnalyticsSinkImpl } from '@voltro/runtime'; import { AnalyticsSinkSpec } from '@voltro/runtime'; export { AnalyticsEvent } export { AnalyticsSinkImpl } export { AnalyticsSinkSpec } export declare const posthogAnalytics: (options: PostHogAnalyticsOptions) => AnalyticsSinkSpec; export declare interface PostHogAnalyticsOptions { /** PostHog project API key (sometimes called `project_id` token). */ readonly apiKey: string; /** API host. Default 'https://app.posthog.com'. Use 'https://eu.posthog.com' * for the EU cloud or your self-hosted URL. */ readonly host?: string; /** Opt into client-side batching (PostHog `/batch/`). Omit for immediate * per-event `/capture/` delivery. See the batching note in the file * header for the delivery-semantics trade-off. */ readonly batch?: PostHogBatchOptions; } export declare interface PostHogBatchOptions { /** Flush once the buffer reaches this many events. Default 20. */ readonly maxSize?: number; /** Flush a non-empty buffer this many ms after the first event lands * (so low-volume trickles don't sit until shutdown). Default 5000. */ readonly flushIntervalMs?: number; } export declare interface PostHogClient { /** POST one event to `/capture/`. */ readonly capture: (event: AnalyticsEvent) => Promise; /** POST many events to `/batch/` in one request. */ readonly captureBatch: (events: ReadonlyArray) => Promise; } export { }