/**
 * SmartCanvasRuntime - Unified runtime for v2 adaptives.
 *
 * The runtime provides access to all core providers:
 * - telemetry: Event tracking (PostHog)
 * - context: Page/session/viewport state
 * - events: Normalized event stream
 * - state: Persistent state storage
 * - actions: ActionEngine for interventions
 * - surfaces: Surfaces for UI rendering
 *
 * Note: ExperimentClient (GrowthBook) is NOT part of the runtime.
 * GrowthBook's job is done at page load when it selects which config to deliver.
 * The runtime receives the config and makes decisions using DecisionStrategy.
 */
import { type ActionEngine, type ExecutorRegistry } from './actions';
import { type AnchorResolver } from './anchor';
import { type AppRegistry } from './apps';
import { type ContextManager } from './context/ContextManager';
import type { DecisionResult, DecisionStrategy, RouteFilter } from './decisions/types';
import { type EventAccumulator } from './events/EventAccumulator';
import { type EventBus } from './events/EventBus';
import type { SessionMetricTracker } from './metrics/sessionMetrics';
import { NavigationMonitor } from './navigation/NavigationMonitor';
import { type StateStore } from './state/StateStore';
import { type Surfaces } from './surfaces';
import type { TelemetryClient } from './telemetry/types';
import type { TileConfig } from './types';
import { type WidgetRegistry } from './widgets';
/**
 * Runtime version.
 */
export declare const RUNTIME_VERSION = "2.0.0";
/**
 * Runtime mode.
 */
export type RuntimeMode = 'production' | 'development' | 'editor' | 'audit' | 'review';
/**
 * SmartCanvasRuntime interface.
 */
export interface SmartCanvasRuntime {
    /** Telemetry client for event tracking */
    telemetry?: TelemetryClient;
    /** Context manager for page/session/viewport state */
    context: ContextManager;
    /** Event bus for normalized event stream */
    events: EventBus;
    /** State store for persistent state */
    state: StateStore;
    /** Session metric tracker (optional) */
    sessionMetrics?: SessionMetricTracker;
    /** ActionEngine for applying interventions */
    actions: ActionEngine;
    /** Surfaces for rendering UI into named slots */
    surfaces: Surfaces;
    /** Widget registry for mountable components */
    widgets: WidgetRegistry;
    /** Executor registry for action executors */
    executors: ExecutorRegistry;
    /** App registry for SynOS apps */
    apps: AppRegistry;
    /** Event accumulator for event_count conditions */
    accumulator: EventAccumulator;
    /** Centralized anchor resolver for DOM observation */
    anchorResolver: AnchorResolver;
    /** Centralized navigation monitor for History API interception */
    navigation: NavigationMonitor;
    /** Runtime version */
    version: string;
    /** Runtime mode */
    mode: RuntimeMode;
    /**
     * Evaluate a decision strategy against the current context.
     */
    evaluate<T>(strategy: DecisionStrategy<T>): Promise<DecisionResult<T>>;
    /**
     * Synchronously evaluate a decision strategy (for simple strategies).
     */
    evaluateSync<T>(strategy: DecisionStrategy<T>): DecisionResult<T>;
    /**
     * Filter tiles based on their activation configs.
     */
    filterTiles(tiles: TileConfig[]): Promise<TileConfig[]>;
    /**
     * Update the routes config (e.g., when config is fetched).
     */
    setRoutes(routes: RouteFilter): void;
    /**
     * Clean up runtime resources.
     */
    destroy(): void;
}
/**
 * Options for creating a SmartCanvasRuntime.
 */
export interface SmartCanvasRuntimeOptions {
    /** Telemetry client */
    telemetry?: TelemetryClient;
    /** Session metric tracker */
    sessionMetrics?: SessionMetricTracker;
    /** Initial routes config */
    routes?: RouteFilter;
    /** Runtime mode */
    mode?: RuntimeMode;
    /** State namespace */
    namespace?: string;
    /** External EventBus (if not provided, one will be created) */
    events?: EventBus;
    /** Custom widget registry (if not provided, default singleton is used) */
    widgets?: WidgetRegistry;
    /** Custom executor registry (if not provided, default singleton is used) */
    executors?: ExecutorRegistry;
    /** Custom app registry (if not provided, default singleton is used) */
    apps?: AppRegistry;
}
/**
 * Create a SmartCanvasRuntime instance.
 */
export declare function createSmartCanvasRuntime(options?: SmartCanvasRuntimeOptions): SmartCanvasRuntime;
