/**
 * PostHog Event Normalizer
 *
 * Transforms PostHog autocapture events into normalized events for the EventBus.
 *
 * This module is automatically wired up during `Syntro.init()` when PostHog
 * credentials are provided in the token. The flow is:
 *
 * 1. PostHog captures user interactions (clicks, scrolls, navigation, etc.)
 * 2. PostHog's `eventCaptured` callback fires
 * 3. `createPostHogNormalizer()` transforms the event to a NormalizedEvent
 * 4. The normalized event is published to the EventBus
 *
 * This allows canvas components and decision strategies to react to user
 * interactions with the main webapp, not just canvas-specific events.
 *
 * @example
 * ```typescript
 * // In bootstrap.ts (already wired up automatically)
 * const normalizer = createPostHogNormalizer((event) => {
 *   eventBus.publishEvent(event);
 * });
 *
 * // PostHog adapter calls normalizer on each capture
 * posthog.on('eventCaptured', normalizer);
 * ```
 *
 * @see RUNTIME_V2_REFERENCE.md for the full event mapping table
 */
import type { NormalizedEvent } from '../types';
/**
 * PostHog event structure (simplified).
 */
interface PostHogEvent {
    event: string;
    properties?: Record<string, unknown>;
    timestamp?: string | number;
}
/**
 * Normalize a PostHog event into a NormalizedEvent.
 */
export declare function normalizePostHogEvent(phEvent: PostHogEvent): NormalizedEvent;
/**
 * Check if a PostHog event should be normalized.
 * Filters out internal/system events that aren't useful for adaptives.
 */
export declare function shouldNormalizeEvent(phEvent: PostHogEvent): boolean;
/**
 * Create a function that hooks into PostHog's onCapture callback
 * and normalizes events into the EventBus.
 */
export declare function createPostHogNormalizer(publishFn: (event: NormalizedEvent) => void): (eventName: string, properties?: Record<string, unknown>) => void;
export {};
