/** Encode a single 16-bit linear PCM sample to an 8-bit μ-law byte. */ export declare const encodeMulawSample: (pcmSample: number) => number; /** Decode a single 8-bit μ-law byte back to a 16-bit linear PCM sample. */ export declare const decodeMulawSample: (mulawByte: number) => number; /** Decode a base64 μ-law payload (Twilio media frame) to 16-bit PCM. */ export declare const decodeMulawBase64: (payload: string) => Int16Array; /** Encode 16-bit linear PCM to a base64 μ-law payload (Twilio media frame). */ export declare const encodeMulawBase64: (samples: Int16Array) => string; /** * Resample 16-bit PCM from `fromHz` to `toHz` using linear interpolation. * Good enough for telephony (8 kHz target, where the lowpass artifacts are * masked by the codec anyway). The receptionist bridge uses the same trick. */ export declare const resamplePcm: (input: Int16Array, fromHz: number, toHz: number) => Int16Array; /** * Split a PCM stream into 20 ms frames (160 samples @ 8 kHz). Twilio Media * Streams expects this packetization — sending larger chunks works but pacing * becomes a problem on the playback side. */ export declare const frame20ms8k: (samples: Int16Array) => Int16Array[]; //# sourceMappingURL=mulaw.d.ts.map