import type { TransferredVoiceControls, VoiceHandoffChannel } from "./handoff-contract.ts"; import { type CapturedHandoffAudio } from "./handoff-peer.ts"; import { type LanTakeoverOffer } from "./lan/takeover.ts"; export declare function startVoiceDeparture(options: { channel: VoiceHandoffChannel; captured: CapturedHandoffAudio; waitForSettled(signal: AbortSignal): Promise; onReleased(controls: TransferredVoiceControls): void; onClosed(error: Error): void; lanTakeover?: (offer: LanTakeoverOffer, releaseAudio: (beforeStop?: () => Promise) => Promise, verify: (proof: { port: number; token: string; }) => Promise) => Promise; onTakeoverUnavailable?(error: Error): void; }): { completion: Promise; readonly detached: boolean; close(): void; };