import { PresenterMode, SessionState, type PresenterTone } from '@reticlehq/core'; import { type LogKind, type LogResult, type LogHandle } from './chrome/presenter-log.js'; import { type PresenterOptions } from './presenter-config.js'; import { type PresenterRunState } from './presenter-run-state.js'; import { type ControlHandler } from './presenter-controls.js'; import { Annotator } from '../review/annotator.js'; export { GlowPhase } from './presenter-config.js'; export type { PresenterOptions } from './presenter-config.js'; export { LOG_KIND, LOG_RESULT } from './chrome/presenter-log.js'; export type { LogHandle } from './chrome/presenter-log.js'; export type { ControlIntent, ControlHandler } from './presenter-controls.js'; export declare class Presenter { #private; constructor(options?: PresenterOptions); setControlHandler(handler: ControlHandler): void; get state(): SessionState; get sessionActive(): boolean; setState(state: SessionState, text?: string, tone?: PresenterTone): void; refilterFlows(): void; handlePush(command: { name: string; args: Record; }): void; get logMax(): number; set logMax(n: number); mount(): void; bindAnnotator(annotator: Annotator): void; destroy(): void; sessionStart(): void; showUnreachable(url: string, attempts: number): void; sessionEnd(): void; markActivity(): void; scheduleIdle(): void; glowPhase(): import("./presenter-config.js").GlowPhase; get mode(): PresenterMode; setMode(mode: PresenterMode): void; status(text: string): void; setIdleEndMs(ms: number): void; runState(): PresenterRunState | Record; log(kind: LogKind, text: string, result?: LogResult): LogHandle | undefined; narrate(text: string, level?: string): LogHandle | undefined; setThrottled(throttled: boolean): void; beforeAct(refId: string, action: string, label: string): Promise; }