import { HumanControlKind, PresenterTone, SessionState } from '@reticlehq/core';
export type { ControlIntent, ControlHandler } from './presenter-config.js';
export declare const ENDED_FADE_MS = 4000;
export declare const CONTROLS_CSS: string;
export declare const CONTROLS_TOOLBAR_HTML: string;
export declare const CONTROLS_BANNER_HTML = "
Session ended
";
export declare const CONTROLS_FLOWS_HTML = "Replay a flow
";
export declare const CONTROLS_FOOT_HTML: string;
interface ControlPanelHost {
emit: (kind: HumanControlKind, text?: string) => void;
logHuman: (text: string) => void;
endedFadeMs: number;
runState: () => unknown;
clearRunLog?: () => void;
onStateChange?: (state: SessionState) => void;
}
export declare class ControlPanel {
#private;
constructor(host: ControlPanelHost);
get state(): SessionState;
mount(root: HTMLElement, glow: HTMLElement | undefined): void;
teardown(): void;
setFlows(flows: unknown): void;
refilterFlows(): void;
setState(state: SessionState, text?: string, tone?: PresenterTone): void;
}