/** * States of controls inside the composer footer that change how the rest of * the footer lays out (voice capture, a saved recording or voice error, a * failed live-voice start). * * The footer element carries each active state as a `data-footer-*` attribute, so the * stylesheet can react with plain attribute selectors. Using * `.og-composer-footer:has(...)` instead made the browser restyle the whole * page on every DOM change, including each keystroke in the composer. */ export type ComposerFooterSignal = "transcription-capturing" | "transcription-attention" | "realtime-attention"; type Report = (signal: ComposerFooterSignal, active: boolean) => void; export declare const ComposerFooterSignalProvider: import("react").Provider; /** Footer side: collects the signals reported by its controls. */ export declare function useComposerFooterSignalState(): { report: Report; attributes: Partial>; }; /** Control side: marks the enclosing composer footer while `active`. */ export declare function useComposerFooterSignal(signal: ComposerFooterSignal, active: boolean): void; export {};