import { SETTINGS_CSS } from './presenter-settings-styles.js'; import type { AccountState } from '@reticlehq/core'; import { type AccountDetails } from './presenter-account.js'; export { SETTINGS_CSS }; export declare const OutputDetail: { readonly MINIMAL: "minimal"; readonly STANDARD: "standard"; readonly VERBOSE: "verbose"; }; export type OutputDetail = (typeof OutputDetail)[keyof typeof OutputDetail]; export declare const StatusThemeId: { readonly SIGNAL: "signal"; readonly TRAFFIC: "traffic"; readonly MONO: "mono"; readonly NEON: "neon"; readonly EMBER: "ember"; }; export type StatusThemeId = (typeof StatusThemeId)[keyof typeof StatusThemeId]; interface StatusTheme { id: StatusThemeId; label: string; active: string; idle: string; ended: string; } export declare const STATUS_THEMES: readonly StatusTheme[]; export declare function statusTheme(id: StatusThemeId): StatusTheme; export interface PresenterSettings { outputDetail: OutputDetail; statusThemeId: StatusThemeId; ambientGlow: boolean; reactComponents: boolean; hideUntilRestart: boolean; clearOnCopy: boolean; blockPageInteractions: boolean; showTally: boolean; showTimestamps: boolean; autoOpenChat: boolean; reduceMotion: boolean; } export declare function getPresenterSettings(): PresenterSettings; export declare function loadPresenterSettings(): PresenterSettings; export declare const SETTINGS_ACCOUNT_ATTR = "data-reticle-settings-account"; export declare function paintSettingsAccount(root: HTMLElement, account: AccountState | undefined, dashboardUrl: string | undefined, details?: AccountDetails): void; export declare function settingsPanelHtml(): string; export interface SettingsHost { onHideUntilRestart?: () => void; onSettingsChange?: (settings: PresenterSettings) => void; onBeforeOpen?: () => void; } export declare function applyPresenterSettings(root: HTMLElement, settings: PresenterSettings): void; export declare function syncPageBlocker(root: HTMLElement, settings: PresenterSettings, annotateLive: boolean): void; export declare function blockerHtml(): string; export declare class PresenterSettingsPanel { #private; constructor(host?: SettingsHost); contains(node: Node): boolean; mount(root: HTMLElement): void; teardown(): void; isOpen(): boolean; open(): void; close(): void; toggle(): void; }