import type { ExperimentClient } from '../experiments/types';
import type { SmartCanvasRuntime } from '../runtime';
import type { ActionStep, CanvasConfigFetcher, CanvasThemeConfig, LauncherConfig, RoutesConfig, TileConfig } from '../types';
export interface UseShadowCanvasConfigOptions {
    fetcher: CanvasConfigFetcher;
    pollIntervalMs?: number;
    /** @deprecated Use runtime instead */
    experiments?: ExperimentClient;
    /** v2 Runtime for activation-based filtering */
    runtime?: SmartCanvasRuntime;
}
export interface ShadowCanvasConfigState {
    tiles: TileConfig[];
    isLoading: boolean;
    error?: string;
    fetchedAt?: string;
    canvasTitle?: string;
    configVersion?: string;
    /** Actions to execute (tooltips, highlights, DOM changes, etc.) */
    actions: ActionStep[];
    displayMode?: 'standard' | 'focused';
    /** Theme configuration from the canvas config (workspace settings) */
    theme?: CanvasThemeConfig;
    /** Launcher button configuration */
    launcher?: LauncherConfig;
    /** Route filtering configuration */
    routes?: RoutesConfig;
}
export declare function useShadowCanvasConfig({ fetcher, pollIntervalMs, experiments, runtime, }: UseShadowCanvasConfigOptions): ShadowCanvasConfigState;
