/** * Wire-format normalizers for play items and device descriptors. * * The SDK accepts two input shapes for convenience: * * flat — `{ type: 'tts', text: 'hi' }` * nested — `{ type: 'tts', params: { text: 'hi' } }` * * The RELAY Blade protocol only accepts the nested form. These helpers fold * the flat form into the nested form before the RPC goes out so both shapes * work at the call sites (play/playAndCollect/connect/refer/tap/dial). * * Passing through an already-nested item is idempotent. */ /** Normalize a single play item (tts/audio/silence/ringtone). */ export declare function normalizePlayItem(item: Record): Record; /** Normalize an array of play items. */ export declare function normalizePlayItems(items: Record[]): Record[]; /** * Normalize a single device descriptor (phone/sip/webrtc/agora/stream/...). * * For `phone`, also renames the SDK's short `to`/`from` keys to the wire-format * `to_number`/`from_number` that the platform expects. */ export declare function normalizeDevice(device: Record): Record; /** Normalize a 2D dial plan (outer = serial groups, inner = parallel devices). */ export declare function normalizeDevicePlan(plan: Record[][]): Record[][];