import type { StoryboardEnvironment } from './designImport.js'; /** A host-declared value for a portable browser condition such as color scheme. */ export interface PreviewEnvironmentControlOptionDef { value: string; label: string; description?: string; environment?: StoryboardEnvironment; } /** * An orthogonal preview condition. These controls do not create storyboard * nodes: they temporarily alter only the active frame's live route preview. */ export interface PreviewEnvironmentControlDef { id: string; label: string; description?: string; defaultValue: string; options: readonly PreviewEnvironmentControlOptionDef[]; } /** One editor's declared preview environment controls and their selections. */ export declare function createPreviewEnvironmentControls(): { setPreviewEnvironmentControls: (next: readonly PreviewEnvironmentControlDef[]) => void; getPreviewEnvironmentControls: () => readonly PreviewEnvironmentControlDef[]; getPreviewEnvironmentControlSelections: () => Readonly>; getPreviewEnvironmentControlValue: (controlId: string) => string | undefined; setPreviewEnvironmentControlValue: (controlId: string, value: string) => void; clearPreviewEnvironmentControlValues: () => void; getPreviewEnvironmentOverride: () => StoryboardEnvironment | undefined; subscribePreviewEnvironmentControls: (listener: () => void) => () => void; getPreviewEnvironmentControlRevision: () => number; }; export type PreviewEnvironmentControls = ReturnType;