/// import { Duplex, PassThrough, Readable } from 'stream'; import { Logger } from 'pino'; import { Channels, FFmpegArgs, FrameSize, OpusInfo, SamplingRate, StreamGetter } from './types'; import * as Api from './api'; export declare const FRAME_SIZE_MAP: number[]; export declare type OpusReader = { opusInfo: OpusInfo; opusStream: PassThrough; }; export declare type OpusOptions = { bitrateKbps?: number | null; channels?: Channels; samplingRate?: SamplingRate; frameSize?: FrameSize; }; export declare function getOpusReader(parentLogger: Logger, options?: OpusOptions | null): Promise; export declare type FFmpegDuration = string; export declare type FFmpegTempo = number; export declare type FFmpegVolume = number; export declare type FFmpegNormalizer = { integratedLoudness: number; loudnessRange: number; maximumPeak: number; }; export declare type FFmpegCompressor = { threshold: number; ratio: number; attack: number; release: number; }; export declare type FileStreamOptions = { samplingRate?: SamplingRate; volumeFactor?: FFmpegVolume | null | boolean; tempoFactor?: FFmpegTempo | null | boolean; normalizer?: FFmpegNormalizer | null | boolean; compressor?: FFmpegCompressor | null | boolean; startAt?: FFmpegDuration | null; endAt?: FFmpegDuration | null; ffmpegArgs?: FFmpegArgs; }; export declare function initAudioStream(event: Api.EventStreamStart, opusInfo: OpusInfo, opusStream: Readable, logger: Logger): StreamGetter; export declare function getAutoDecodeStream(parentLogger: Logger, options?: FileStreamOptions): Duplex;