import { T as WideEvent, r as DrainContext } from "../types-B82IuY7M.mjs"; //#region src/adapters/posthog.d.ts interface PostHogConfig { /** PostHog project API key */ apiKey: string; /** PostHog host URL. Default: https://us.i.posthog.com */ host?: string; /** Request timeout in milliseconds. Default: 5000 */ timeout?: number; } interface PostHogEventsConfig extends PostHogConfig { /** PostHog event name. Default: mxllog_wide_event */ eventName?: string; /** Override distinct_id (defaults to event.service) */ distinctId?: string; } /** PostHog event structure for the batch API */ interface PostHogEvent { event: string; distinct_id: string; timestamp: string; properties: Record; } /** * Convert a WideEvent to a PostHog custom event format. */ declare function toPostHogEvent(event: WideEvent, config: PostHogEventsConfig): PostHogEvent; /** * Create a drain function for sending logs to PostHog Logs via OTLP. * * Configuration priority (highest to lowest): * 1. Overrides passed to createPostHogDrain() * 2. runtimeConfig.mxllog.posthog * 3. runtimeConfig.posthog * 4. Environment variables: NUXT_POSTHOG_*, POSTHOG_* * * @example * ```ts * // Zero config - just set NUXT_POSTHOG_API_KEY env var * nitroApp.hooks.hook('mxllog:drain', createPostHogDrain()) * * // With overrides * nitroApp.hooks.hook('mxllog:drain', createPostHogDrain({ * apiKey: 'phc_...', * host: 'https://eu.i.posthog.com', * })) * ``` */ declare function createPostHogDrain(overrides?: Partial): (ctx: DrainContext | DrainContext[]) => Promise; /** * Send a single event to PostHog Logs via OTLP. * * @example * ```ts * await sendToPostHog(event, { * apiKey: process.env.POSTHOG_API_KEY!, * }) * ``` */ declare function sendToPostHog(event: WideEvent, config: PostHogConfig): Promise; /** * Send a batch of events to PostHog Logs via OTLP. * * @example * ```ts * await sendBatchToPostHog(events, { * apiKey: process.env.POSTHOG_API_KEY!, * }) * ``` */ declare function sendBatchToPostHog(events: WideEvent[], config: PostHogConfig): Promise; /** * Create a drain function for sending logs to PostHog as custom events. * * Uses PostHog's `/batch/` API. Consider using `createPostHogDrain()` instead * which uses PostHog Logs (OTLP) and is significantly cheaper. * * Configuration priority (highest to lowest): * 1. Overrides passed to createPostHogEventsDrain() * 2. runtimeConfig.mxllog.posthog * 3. runtimeConfig.posthog * 4. Environment variables: NUXT_POSTHOG_API_KEY/POSTHOG_API_KEY, NUXT_POSTHOG_HOST/POSTHOG_HOST * * @example * ```ts * nitroApp.hooks.hook('mxllog:drain', createPostHogEventsDrain({ * eventName: 'server_request', * })) * ``` */ declare function createPostHogEventsDrain(overrides?: Partial): (ctx: DrainContext | DrainContext[]) => Promise; /** * Send a single event to PostHog as a custom event. * * @example * ```ts * await sendToPostHogEvents(event, { * apiKey: process.env.POSTHOG_API_KEY!, * }) * ``` */ declare function sendToPostHogEvents(event: WideEvent, config: PostHogEventsConfig): Promise; /** * Send a batch of events to PostHog as custom events via the `/batch/` API. * * @example * ```ts * await sendBatchToPostHogEvents(events, { * apiKey: process.env.POSTHOG_API_KEY!, * }) * ``` */ declare function sendBatchToPostHogEvents(events: WideEvent[], config: PostHogEventsConfig): Promise; //#endregion export { PostHogConfig, PostHogEvent, PostHogEventsConfig, createPostHogDrain, createPostHogEventsDrain, sendBatchToPostHog, sendBatchToPostHogEvents, sendToPostHog, sendToPostHogEvents, toPostHogEvent }; //# sourceMappingURL=posthog.d.mts.map