import { type PollCadence } from "./poll-cadence.js"; export { resolvePollTier, resolvePollMs, shouldRefreshOnResume } from "./poll-cadence.js"; export type { PollTier, PollCadence, PollSignals } from "./poll-cadence.js"; export { useVoice, type VoiceMode } from "./voice/use-voice.js"; export { buildTranscribePrompt } from "./voice/prompt.js"; export { resolveVoiceStatus, type VoiceStatus } from "./voice/convo.js"; export { ALL_VOICE_COMMANDS, commandPhrases, type VoiceCommand } from "./voice/convo.js"; export { resolveComposer, type ComposerBinding } from "./voice/composer.js"; export { createTts } from "./voice/config.js"; export { invalidateVoiceConfig } from "./voice/config.js"; export type { Dictation, DictationStatus, VoicePhase } from "./voice/machine.js"; export { dictationDiverged, dictationLoss, storedDictation } from "./voice/machine.js"; export { prepareConversationSwitch, type SwitchPrep } from "./voice/machine.js"; export type { VoiceTts } from "./voice/tts.js"; /** Call `fn` every `ms` milliseconds while the component is mounted (and `enabled`). */ export declare function usePolling(fn: () => void, ms: number, enabled?: boolean): void; /** Live `document.hidden`. `false` outside a browser (SSR / tests). */ export declare function useDocumentVisibilityHidden(): boolean; /** * `usePolling` with the three-tier cadence policy from CODER-007 (#83): full * rate while `busy`, a slower rate when visible-and-idle, and nothing at all in * a hidden idle tab — plus one immediate fetch whenever the tier speeds up, so * a suppressed poll is never something the user can observe as staleness. * * Drop-in for `usePolling(fn, ms, enabled)`: pass the old interval as * `activeMs` and behaviour while working is unchanged. */ export declare function useTieredPolling(fn: () => void, cadence: PollCadence, busy: boolean, enabled?: boolean): void; //# sourceMappingURL=hooks.d.ts.map