export interface SignalsmithStretchSchedule { readonly active?: boolean; readonly input?: number; readonly output?: number; readonly outputTime?: number; readonly rate?: number; readonly semitones?: number; readonly tonalityHz?: number; readonly formantSemitones?: number; readonly formantCompensation?: boolean; readonly formantBaseHz?: number; readonly loopStart?: number; readonly loopEnd?: number; } export interface SignalsmithStretchScheduleResult { readonly active: boolean; readonly input: number; readonly output: number; readonly rate: number; readonly semitones: number; readonly tonalityHz: number; readonly formantSemitones: number; readonly formantCompensation: boolean; readonly formantBaseHz: number; readonly loopStart: number; readonly loopEnd: number; } export interface SignalsmithStretchNodeConfig { readonly preset?: "default" | "cheaper"; readonly blockMs?: number; readonly intervalMs?: number; readonly splitComputation?: boolean; } export type SignalsmithStretchNodeOptions = AudioWorkletNodeOptions; export interface SignalsmithStretchNode extends AudioWorkletNode { inputTime: number; configure(config: SignalsmithStretchNodeConfig): Promise; latency(): Promise; setUpdateInterval(seconds: number, callback?: (inputTime: number) => void): Promise; start(when?: number | SignalsmithStretchSchedule, offset?: number, duration?: number, rate?: number, semitones?: number): Promise; stop(when?: number): Promise; schedule(options: SignalsmithStretchSchedule, adjustPrevious?: boolean): Promise; addBuffers(channels: Float32Array[], transfer?: Transferable[]): Promise; dropBuffers(toSeconds?: number): Promise<{ readonly start: number; readonly end: number; }>; } /** Creates a live Signalsmith Stretch AudioWorkletNode for a Web Audio graph. */ export declare function createSignalsmithStretchNode(context: BaseAudioContext, options?: SignalsmithStretchNodeOptions): Promise; export default createSignalsmithStretchNode; //# sourceMappingURL=index.d.ts.map