import type { ArkmeOutgoingCallMediaType } from '../outgoing-call-contract.js'; export interface OutgoingCallUiRequest { sourceRef: string; displayName: string; mediaType: ArkmeOutgoingCallMediaType; } export interface OutgoingCallUiSnapshot { pending?: OutgoingCallUiRequest; } export interface OutgoingCallUiSettledEvent { callRequestId: string; displayName: string; mediaType: ArkmeOutgoingCallMediaType; status: 'ended' | 'failed'; } export declare class OutgoingCallUiController { private listeners; private settledListeners; private snapshot; private receiver; registerReceiver(receiver: () => Promise): (() => void) | undefined; ensureReceiver(): Promise; readonly subscribe: (listener: () => void) => (() => void); readonly getSnapshot: () => OutgoingCallUiSnapshot; readonly subscribeSettled: (listener: (event: OutgoingCallUiSettledEvent) => void) => (() => void); request(request: OutgoingCallUiRequest): void; consume(): OutgoingCallUiRequest | undefined; notifySettled(event: OutgoingCallUiSettledEvent): void; } export declare const outgoingCallUi: OutgoingCallUiController; //# sourceMappingURL=outgoing-call-ui-controller.d.ts.map