@meersagor/wavesurfer-vue 1.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1126 @@
1
+ import { default as RecordPlugin } from 'wavesurfer.js/dist/plugins/record.js';
2
+ import { Ref } from 'vue';
3
+ import { default as WaveSurfer } from 'wavesurfer.js';
4
+ import { RecordPluginOptions } from 'wavesurfer.js/dist/plugins/record';
5
+ export interface UseWaveSurferRecorderOptions {
6
+ waveSurfer: Ref<WaveSurfer | null>;
7
+ recordPluginOptions?: RecordPluginOptions;
8
+ }
9
+ export interface UseWaveSurferRecorderStandaloneOptions {
10
+ containerRef: Ref<HTMLElement | null>;
11
+ options: any;
12
+ recordPluginOptions?: RecordPluginOptions;
13
+ }
14
+ export declare const useWaveSurferRecorder: ({ waveSurfer, recordPluginOptions }: UseWaveSurferRecorderOptions) => {
15
+ currentTime: import('vue').ComputedRef<string>;
16
+ startRecording: () => void;
17
+ stopRecording: () => Promise<Blob>;
18
+ pauseRecording: () => void;
19
+ isRecording: Ref<boolean, boolean>;
20
+ isPaused: Ref<boolean, boolean>;
21
+ isPauseResume: import('vue').ComputedRef<boolean>;
22
+ waveSurferRecorder: Ref<{
23
+ renderMicStream: (stream: MediaStream) => {
24
+ onDestroy: () => void;
25
+ onEnd: () => void;
26
+ };
27
+ startMic: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<MediaStream>;
28
+ stopMic: () => void;
29
+ startRecording: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<void>;
30
+ getDuration: () => number;
31
+ isRecording: () => boolean;
32
+ isPaused: () => boolean;
33
+ isActive: () => boolean;
34
+ stopRecording: () => void;
35
+ pauseRecording: () => void;
36
+ resumeRecording: () => void;
37
+ destroy: () => void;
38
+ _init: (wavesurfer: WaveSurfer) => void;
39
+ on: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void, options?: {
40
+ once?: boolean;
41
+ }) => () => void;
42
+ un: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => void;
43
+ once: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => () => void;
44
+ unAll: () => void;
45
+ } | null, RecordPlugin | {
46
+ renderMicStream: (stream: MediaStream) => {
47
+ onDestroy: () => void;
48
+ onEnd: () => void;
49
+ };
50
+ startMic: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<MediaStream>;
51
+ stopMic: () => void;
52
+ startRecording: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<void>;
53
+ getDuration: () => number;
54
+ isRecording: () => boolean;
55
+ isPaused: () => boolean;
56
+ isActive: () => boolean;
57
+ stopRecording: () => void;
58
+ pauseRecording: () => void;
59
+ resumeRecording: () => void;
60
+ destroy: () => void;
61
+ _init: (wavesurfer: WaveSurfer) => void;
62
+ on: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void, options?: {
63
+ once?: boolean;
64
+ }) => () => void;
65
+ un: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => void;
66
+ once: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => () => void;
67
+ unAll: () => void;
68
+ } | null>;
69
+ };
70
+ export declare const useWaveSurferRecorderStandalone: ({ containerRef, options, recordPluginOptions }: UseWaveSurferRecorderStandaloneOptions) => {
71
+ currentTime: import('vue').ComputedRef<string>;
72
+ startRecording: () => void;
73
+ stopRecording: () => Promise<Blob>;
74
+ pauseRecording: () => void;
75
+ isRecording: Ref<boolean, boolean>;
76
+ isPaused: Ref<boolean, boolean>;
77
+ isPauseResume: import('vue').ComputedRef<boolean>;
78
+ waveSurfer: Ref<{
79
+ options: {
80
+ container: HTMLElement | string;
81
+ height?: (number | "auto") | undefined;
82
+ width?: (number | string) | undefined;
83
+ waveColor: string | (string[] & string) | (CanvasGradient & string);
84
+ progressColor: string | (string[] & string) | (CanvasGradient & string);
85
+ cursorColor?: string | undefined;
86
+ cursorWidth: number;
87
+ barWidth?: number | undefined;
88
+ barGap?: number | undefined;
89
+ barRadius?: number | undefined;
90
+ barHeight?: number | undefined;
91
+ barAlign?: ("top" | "bottom") | undefined;
92
+ minPxPerSec: number;
93
+ fillParent: boolean;
94
+ url?: string | undefined;
95
+ peaks?: (number[] | {
96
+ [x: number]: number;
97
+ readonly BYTES_PER_ELEMENT: number;
98
+ readonly buffer: {
99
+ readonly byteLength: number;
100
+ slice: (begin: number, end?: number) => ArrayBuffer;
101
+ readonly [Symbol.toStringTag]: string;
102
+ } | {
103
+ readonly byteLength: number;
104
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
105
+ readonly [Symbol.species]: SharedArrayBuffer;
106
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
107
+ };
108
+ readonly byteLength: number;
109
+ readonly byteOffset: number;
110
+ copyWithin: (target: number, start: number, end?: number) => Float32Array;
111
+ every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
112
+ fill: (value: number, start?: number, end?: number) => Float32Array;
113
+ filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
114
+ find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
115
+ findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
116
+ forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
117
+ indexOf: (searchElement: number, fromIndex?: number) => number;
118
+ join: (separator?: string) => string;
119
+ lastIndexOf: (searchElement: number, fromIndex?: number) => number;
120
+ readonly length: number;
121
+ map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
122
+ reduce: {
123
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
124
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
125
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
126
+ };
127
+ reduceRight: {
128
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
129
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
130
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
131
+ };
132
+ reverse: () => Float32Array;
133
+ set: (array: ArrayLike<number>, offset?: number) => void;
134
+ slice: (start?: number, end?: number) => Float32Array;
135
+ some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
136
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
137
+ subarray: (begin?: number, end?: number) => Float32Array;
138
+ toLocaleString: {
139
+ (): string;
140
+ (locales: string | string[], options?: Intl.NumberFormatOptions): string;
141
+ };
142
+ toString: () => string;
143
+ valueOf: () => Float32Array;
144
+ entries: () => ArrayIterator<[number, number]>;
145
+ keys: () => ArrayIterator<number>;
146
+ values: () => ArrayIterator<number>;
147
+ includes: (searchElement: number, fromIndex?: number) => boolean;
148
+ [Symbol.iterator]: () => ArrayIterator<number>;
149
+ readonly [Symbol.toStringTag]: "Float32Array";
150
+ at: (index: number) => number | undefined;
151
+ })[] | undefined;
152
+ duration?: number | undefined;
153
+ media?: HTMLMediaElement | undefined;
154
+ mediaControls?: boolean | undefined;
155
+ autoplay?: boolean | undefined;
156
+ interact: boolean;
157
+ dragToSeek: boolean | ({
158
+ debounceTime: number;
159
+ } & false) | ({
160
+ debounceTime: number;
161
+ } & true);
162
+ hideScrollbar?: boolean | undefined;
163
+ audioRate?: number | undefined;
164
+ autoScroll: boolean;
165
+ autoCenter: boolean;
166
+ sampleRate: number;
167
+ splitChannels?: {
168
+ container?: string | HTMLElement | undefined;
169
+ height?: (number | "auto") | undefined;
170
+ width?: (number | string) | undefined;
171
+ waveColor?: string | string[] | {
172
+ addColorStop: (offset: number, color: string) => void;
173
+ } | undefined;
174
+ progressColor?: string | string[] | {
175
+ addColorStop: (offset: number, color: string) => void;
176
+ } | undefined;
177
+ cursorColor?: string | undefined;
178
+ cursorWidth?: number | undefined;
179
+ barWidth?: number | undefined;
180
+ barGap?: number | undefined;
181
+ barRadius?: number | undefined;
182
+ barHeight?: number | undefined;
183
+ barAlign?: ("top" | "bottom") | undefined;
184
+ minPxPerSec?: number | undefined;
185
+ fillParent?: boolean | undefined;
186
+ url?: string | undefined;
187
+ peaks?: (number[] | {
188
+ [x: number]: number;
189
+ readonly BYTES_PER_ELEMENT: number;
190
+ readonly buffer: {
191
+ readonly byteLength: number;
192
+ slice: (begin: number, end?: number) => ArrayBuffer;
193
+ readonly [Symbol.toStringTag]: string;
194
+ } | {
195
+ readonly byteLength: number;
196
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
197
+ readonly [Symbol.species]: SharedArrayBuffer;
198
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
199
+ };
200
+ readonly byteLength: number;
201
+ readonly byteOffset: number;
202
+ copyWithin: (target: number, start: number, end?: number) => Float32Array;
203
+ every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
204
+ fill: (value: number, start?: number, end?: number) => Float32Array;
205
+ filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
206
+ find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
207
+ findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
208
+ forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
209
+ indexOf: (searchElement: number, fromIndex?: number) => number;
210
+ join: (separator?: string) => string;
211
+ lastIndexOf: (searchElement: number, fromIndex?: number) => number;
212
+ readonly length: number;
213
+ map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
214
+ reduce: {
215
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
216
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
217
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
218
+ };
219
+ reduceRight: {
220
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
221
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
222
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
223
+ };
224
+ reverse: () => Float32Array;
225
+ set: (array: ArrayLike<number>, offset?: number) => void;
226
+ slice: (start?: number, end?: number) => Float32Array;
227
+ some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
228
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
229
+ subarray: (begin?: number, end?: number) => Float32Array;
230
+ toLocaleString: {
231
+ (): string;
232
+ (locales: string | string[], options?: Intl.NumberFormatOptions): string;
233
+ };
234
+ toString: () => string;
235
+ valueOf: () => Float32Array;
236
+ entries: () => ArrayIterator<[number, number]>;
237
+ keys: () => ArrayIterator<number>;
238
+ values: () => ArrayIterator<number>;
239
+ includes: (searchElement: number, fromIndex?: number) => boolean;
240
+ [Symbol.iterator]: () => ArrayIterator<number>;
241
+ readonly [Symbol.toStringTag]: "Float32Array";
242
+ at: (index: number) => number | undefined;
243
+ })[] | undefined;
244
+ duration?: number | undefined;
245
+ media?: HTMLMediaElement | undefined;
246
+ mediaControls?: boolean | undefined;
247
+ autoplay?: boolean | undefined;
248
+ interact?: boolean | undefined;
249
+ dragToSeek?: boolean | {
250
+ debounceTime: number;
251
+ } | undefined;
252
+ hideScrollbar?: boolean | undefined;
253
+ audioRate?: number | undefined;
254
+ autoScroll?: boolean | undefined;
255
+ autoCenter?: boolean | undefined;
256
+ sampleRate?: number | undefined;
257
+ splitChannels?: any[] | undefined;
258
+ normalize?: boolean | undefined;
259
+ plugins?: {
260
+ _init: (wavesurfer: WaveSurfer) => void;
261
+ destroy: () => void;
262
+ on: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void, options?: {
263
+ once?: boolean;
264
+ }) => () => void;
265
+ un: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => void;
266
+ once: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => () => void;
267
+ unAll: () => void;
268
+ }[] | undefined;
269
+ renderFunction?: ((peaks: Array<Float32Array | number[]>, ctx: CanvasRenderingContext2D) => void) | undefined;
270
+ fetchParams?: {
271
+ body?: string | {
272
+ readonly byteLength: number;
273
+ slice: (begin: number, end?: number) => ArrayBuffer;
274
+ readonly [Symbol.toStringTag]: string;
275
+ } | {
276
+ readonly locked: boolean;
277
+ cancel: (reason?: any) => Promise<void>;
278
+ getReader: {
279
+ (options: {
280
+ mode: "byob";
281
+ }): ReadableStreamBYOBReader;
282
+ (): ReadableStreamDefaultReader<any>;
283
+ (options?: ReadableStreamGetReaderOptions): ReadableStreamReader<any>;
284
+ };
285
+ pipeThrough: <T>(transform: ReadableWritablePair<T, any>, options?: StreamPipeOptions) => ReadableStream<T>;
286
+ pipeTo: (destination: WritableStream<any>, options?: StreamPipeOptions) => Promise<void>;
287
+ tee: () => [ReadableStream<any>, ReadableStream<any>];
288
+ } | {
289
+ readonly size: number;
290
+ readonly type: string;
291
+ arrayBuffer: () => Promise<ArrayBuffer>;
292
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
293
+ stream: () => ReadableStream<Uint8Array>;
294
+ text: () => Promise<string>;
295
+ } | {
296
+ buffer: {
297
+ readonly byteLength: number;
298
+ slice: (begin: number, end?: number) => ArrayBuffer;
299
+ readonly [Symbol.toStringTag]: string;
300
+ } | {
301
+ readonly byteLength: number;
302
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
303
+ readonly [Symbol.species]: SharedArrayBuffer;
304
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
305
+ };
306
+ byteLength: number;
307
+ byteOffset: number;
308
+ } | {
309
+ append: {
310
+ (name: string, value: string | Blob): void;
311
+ (name: string, value: string): void;
312
+ (name: string, blobValue: Blob, filename?: string): void;
313
+ };
314
+ delete: (name: string) => void;
315
+ get: (name: string) => FormDataEntryValue | null;
316
+ getAll: (name: string) => FormDataEntryValue[];
317
+ has: (name: string) => boolean;
318
+ set: {
319
+ (name: string, value: string | Blob): void;
320
+ (name: string, value: string): void;
321
+ (name: string, blobValue: Blob, filename?: string): void;
322
+ };
323
+ forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void;
324
+ entries: () => FormDataIterator<[string, FormDataEntryValue]>;
325
+ keys: () => FormDataIterator<string>;
326
+ values: () => FormDataIterator<FormDataEntryValue>;
327
+ [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>;
328
+ } | {
329
+ readonly size: number;
330
+ append: (name: string, value: string) => void;
331
+ delete: (name: string, value?: string) => void;
332
+ get: (name: string) => string | null;
333
+ getAll: (name: string) => string[];
334
+ has: (name: string, value?: string) => boolean;
335
+ set: (name: string, value: string) => void;
336
+ sort: () => void;
337
+ toString: () => string;
338
+ forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void;
339
+ entries: () => URLSearchParamsIterator<[string, string]>;
340
+ keys: () => URLSearchParamsIterator<string>;
341
+ values: () => URLSearchParamsIterator<string>;
342
+ [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>;
343
+ } | null | undefined;
344
+ cache?: RequestCache | undefined;
345
+ credentials?: RequestCredentials | undefined;
346
+ headers?: [string, string][] | Record<string, string> | {
347
+ append: (name: string, value: string) => void;
348
+ delete: (name: string) => void;
349
+ get: (name: string) => string | null;
350
+ getSetCookie: () => string[];
351
+ has: (name: string) => boolean;
352
+ set: (name: string, value: string) => void;
353
+ forEach: (callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any) => void;
354
+ entries: () => HeadersIterator<[string, string]>;
355
+ keys: () => HeadersIterator<string>;
356
+ values: () => HeadersIterator<string>;
357
+ [Symbol.iterator]: () => HeadersIterator<[string, string]>;
358
+ } | undefined;
359
+ integrity?: string | undefined;
360
+ keepalive?: boolean | undefined;
361
+ method?: string | undefined;
362
+ mode?: RequestMode | undefined;
363
+ priority?: RequestPriority | undefined;
364
+ redirect?: RequestRedirect | undefined;
365
+ referrer?: string | undefined;
366
+ referrerPolicy?: ReferrerPolicy | undefined;
367
+ signal?: {
368
+ readonly aborted: boolean;
369
+ onabort: ((this: AbortSignal, ev: Event) => any) | null;
370
+ readonly reason: any;
371
+ throwIfAborted: {
372
+ (): void;
373
+ (): void;
374
+ };
375
+ addEventListener: {
376
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
377
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
378
+ };
379
+ removeEventListener: {
380
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
381
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
382
+ };
383
+ any: (signals: Iterable<AbortSignal>) => AbortSignal;
384
+ dispatchEvent: (event: Event) => boolean;
385
+ } | null | undefined;
386
+ window?: null | undefined;
387
+ } | undefined;
388
+ backend?: ("WebAudio" | "MediaElement") | undefined;
389
+ cspNonce?: string | undefined;
390
+ blobMimeType?: string | undefined;
391
+ overlay?: boolean | undefined;
392
+ }[] | undefined;
393
+ normalize?: boolean | undefined;
394
+ plugins?: {
395
+ _init: (wavesurfer: WaveSurfer) => void;
396
+ destroy: () => void;
397
+ on: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void, options?: {
398
+ once?: boolean;
399
+ }) => () => void;
400
+ un: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => void;
401
+ once: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => () => void;
402
+ unAll: () => void;
403
+ }[] | undefined;
404
+ renderFunction?: ((peaks: Array<Float32Array | number[]>, ctx: CanvasRenderingContext2D) => void) | undefined;
405
+ fetchParams?: {
406
+ body?: string | {
407
+ readonly byteLength: number;
408
+ slice: (begin: number, end?: number) => ArrayBuffer;
409
+ readonly [Symbol.toStringTag]: string;
410
+ } | {
411
+ readonly locked: boolean;
412
+ cancel: (reason?: any) => Promise<void>;
413
+ getReader: {
414
+ (options: {
415
+ mode: "byob";
416
+ }): ReadableStreamBYOBReader;
417
+ (): ReadableStreamDefaultReader<any>;
418
+ (options?: ReadableStreamGetReaderOptions): ReadableStreamReader<any>;
419
+ };
420
+ pipeThrough: <T>(transform: ReadableWritablePair<T, any>, options?: StreamPipeOptions) => ReadableStream<T>;
421
+ pipeTo: (destination: WritableStream<any>, options?: StreamPipeOptions) => Promise<void>;
422
+ tee: () => [ReadableStream<any>, ReadableStream<any>];
423
+ } | {
424
+ readonly size: number;
425
+ readonly type: string;
426
+ arrayBuffer: () => Promise<ArrayBuffer>;
427
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
428
+ stream: () => ReadableStream<Uint8Array>;
429
+ text: () => Promise<string>;
430
+ } | {
431
+ buffer: {
432
+ readonly byteLength: number;
433
+ slice: (begin: number, end?: number) => ArrayBuffer;
434
+ readonly [Symbol.toStringTag]: string;
435
+ } | {
436
+ readonly byteLength: number;
437
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
438
+ readonly [Symbol.species]: SharedArrayBuffer;
439
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
440
+ };
441
+ byteLength: number;
442
+ byteOffset: number;
443
+ } | {
444
+ append: {
445
+ (name: string, value: string | Blob): void;
446
+ (name: string, value: string): void;
447
+ (name: string, blobValue: Blob, filename?: string): void;
448
+ };
449
+ delete: (name: string) => void;
450
+ get: (name: string) => FormDataEntryValue | null;
451
+ getAll: (name: string) => FormDataEntryValue[];
452
+ has: (name: string) => boolean;
453
+ set: {
454
+ (name: string, value: string | Blob): void;
455
+ (name: string, value: string): void;
456
+ (name: string, blobValue: Blob, filename?: string): void;
457
+ };
458
+ forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void;
459
+ entries: () => FormDataIterator<[string, FormDataEntryValue]>;
460
+ keys: () => FormDataIterator<string>;
461
+ values: () => FormDataIterator<FormDataEntryValue>;
462
+ [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>;
463
+ } | {
464
+ readonly size: number;
465
+ append: (name: string, value: string) => void;
466
+ delete: (name: string, value?: string) => void;
467
+ get: (name: string) => string | null;
468
+ getAll: (name: string) => string[];
469
+ has: (name: string, value?: string) => boolean;
470
+ set: (name: string, value: string) => void;
471
+ sort: () => void;
472
+ toString: () => string;
473
+ forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void;
474
+ entries: () => URLSearchParamsIterator<[string, string]>;
475
+ keys: () => URLSearchParamsIterator<string>;
476
+ values: () => URLSearchParamsIterator<string>;
477
+ [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>;
478
+ } | null | undefined;
479
+ cache?: RequestCache | undefined;
480
+ credentials?: RequestCredentials | undefined;
481
+ headers?: [string, string][] | Record<string, string> | {
482
+ append: (name: string, value: string) => void;
483
+ delete: (name: string) => void;
484
+ get: (name: string) => string | null;
485
+ getSetCookie: () => string[];
486
+ has: (name: string) => boolean;
487
+ set: (name: string, value: string) => void;
488
+ forEach: (callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any) => void;
489
+ entries: () => HeadersIterator<[string, string]>;
490
+ keys: () => HeadersIterator<string>;
491
+ values: () => HeadersIterator<string>;
492
+ [Symbol.iterator]: () => HeadersIterator<[string, string]>;
493
+ } | undefined;
494
+ integrity?: string | undefined;
495
+ keepalive?: boolean | undefined;
496
+ method?: string | undefined;
497
+ mode?: RequestMode | undefined;
498
+ priority?: RequestPriority | undefined;
499
+ redirect?: RequestRedirect | undefined;
500
+ referrer?: string | undefined;
501
+ referrerPolicy?: ReferrerPolicy | undefined;
502
+ signal?: {
503
+ readonly aborted: boolean;
504
+ onabort: ((this: AbortSignal, ev: Event) => any) | null;
505
+ readonly reason: any;
506
+ throwIfAborted: {
507
+ (): void;
508
+ (): void;
509
+ };
510
+ addEventListener: {
511
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
512
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
513
+ };
514
+ removeEventListener: {
515
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
516
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
517
+ };
518
+ any: (signals: Iterable<AbortSignal>) => AbortSignal;
519
+ dispatchEvent: (event: Event) => boolean;
520
+ } | null | undefined;
521
+ window?: null | undefined;
522
+ } | undefined;
523
+ backend?: ("WebAudio" | "MediaElement") | undefined;
524
+ cspNonce?: string | undefined;
525
+ blobMimeType?: string | undefined;
526
+ };
527
+ setOptions: (options: Partial<import('wavesurfer.js').WaveSurferOptions>) => void;
528
+ registerPlugin: <T extends import('wavesurfer.js/dist/base-plugin').GenericPlugin>(plugin: T) => T;
529
+ unregisterPlugin: (plugin: import('wavesurfer.js/dist/base-plugin').GenericPlugin) => void;
530
+ getWrapper: () => HTMLElement;
531
+ getWidth: () => number;
532
+ getScroll: () => number;
533
+ setScroll: (pixels: number) => void;
534
+ setScrollTime: (time: number) => void;
535
+ getActivePlugins: () => import('wavesurfer.js/dist/base-plugin').GenericPlugin[];
536
+ load: (url: string, channelData?: import('wavesurfer.js').WaveSurferOptions["peaks"], duration?: number) => Promise<void>;
537
+ loadBlob: (blob: Blob, channelData?: import('wavesurfer.js').WaveSurferOptions["peaks"], duration?: number) => Promise<void>;
538
+ zoom: (minPxPerSec: number) => void;
539
+ getDecodedData: () => AudioBuffer | null;
540
+ exportPeaks: ({ channels, maxLength, precision }?: {
541
+ channels?: number | undefined;
542
+ maxLength?: number | undefined;
543
+ precision?: number | undefined;
544
+ }) => Array<number[]>;
545
+ getDuration: () => number;
546
+ toggleInteraction: (isInteractive: boolean) => void;
547
+ setTime: (time: number) => void;
548
+ seekTo: (progress: number) => void;
549
+ play: (start?: number, end?: number) => Promise<void>;
550
+ playPause: () => Promise<void>;
551
+ stop: () => void;
552
+ skip: (seconds: number) => void;
553
+ empty: () => void;
554
+ setMediaElement: (element: HTMLMediaElement) => void;
555
+ exportImage: {
556
+ (format: string, quality: number, type: "dataURL"): Promise<string[]>;
557
+ (format: string, quality: number, type: "blob"): Promise<Blob[]>;
558
+ };
559
+ destroy: () => void;
560
+ pause: () => void;
561
+ isPlaying: () => boolean;
562
+ getCurrentTime: () => number;
563
+ getVolume: () => number;
564
+ setVolume: (volume: number) => void;
565
+ getMuted: () => boolean;
566
+ setMuted: (muted: boolean) => void;
567
+ getPlaybackRate: () => number;
568
+ isSeeking: () => boolean;
569
+ setPlaybackRate: (rate: number, preservePitch?: boolean) => void;
570
+ getMediaElement: () => HTMLMediaElement;
571
+ setSinkId: (sinkId: string) => Promise<void>;
572
+ on: <EventName extends keyof import('wavesurfer.js').WaveSurferEvents>(event: EventName, listener: (...args: import('wavesurfer.js').WaveSurferEvents[EventName]) => void, options?: {
573
+ once?: boolean;
574
+ }) => () => void;
575
+ un: <EventName extends keyof import('wavesurfer.js').WaveSurferEvents>(event: EventName, listener: (...args: import('wavesurfer.js').WaveSurferEvents[EventName]) => void) => void;
576
+ once: <EventName extends keyof import('wavesurfer.js').WaveSurferEvents>(event: EventName, listener: (...args: import('wavesurfer.js').WaveSurferEvents[EventName]) => void) => () => void;
577
+ unAll: () => void;
578
+ } | null, WaveSurfer | {
579
+ options: {
580
+ container: HTMLElement | string;
581
+ height?: (number | "auto") | undefined;
582
+ width?: (number | string) | undefined;
583
+ waveColor: string | (string[] & string) | (CanvasGradient & string);
584
+ progressColor: string | (string[] & string) | (CanvasGradient & string);
585
+ cursorColor?: string | undefined;
586
+ cursorWidth: number;
587
+ barWidth?: number | undefined;
588
+ barGap?: number | undefined;
589
+ barRadius?: number | undefined;
590
+ barHeight?: number | undefined;
591
+ barAlign?: ("top" | "bottom") | undefined;
592
+ minPxPerSec: number;
593
+ fillParent: boolean;
594
+ url?: string | undefined;
595
+ peaks?: (number[] | {
596
+ [x: number]: number;
597
+ readonly BYTES_PER_ELEMENT: number;
598
+ readonly buffer: {
599
+ readonly byteLength: number;
600
+ slice: (begin: number, end?: number) => ArrayBuffer;
601
+ readonly [Symbol.toStringTag]: string;
602
+ } | {
603
+ readonly byteLength: number;
604
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
605
+ readonly [Symbol.species]: SharedArrayBuffer;
606
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
607
+ };
608
+ readonly byteLength: number;
609
+ readonly byteOffset: number;
610
+ copyWithin: (target: number, start: number, end?: number) => Float32Array;
611
+ every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
612
+ fill: (value: number, start?: number, end?: number) => Float32Array;
613
+ filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
614
+ find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
615
+ findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
616
+ forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
617
+ indexOf: (searchElement: number, fromIndex?: number) => number;
618
+ join: (separator?: string) => string;
619
+ lastIndexOf: (searchElement: number, fromIndex?: number) => number;
620
+ readonly length: number;
621
+ map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
622
+ reduce: {
623
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
624
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
625
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
626
+ };
627
+ reduceRight: {
628
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
629
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
630
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
631
+ };
632
+ reverse: () => Float32Array;
633
+ set: (array: ArrayLike<number>, offset?: number) => void;
634
+ slice: (start?: number, end?: number) => Float32Array;
635
+ some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
636
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
637
+ subarray: (begin?: number, end?: number) => Float32Array;
638
+ toLocaleString: {
639
+ (): string;
640
+ (locales: string | string[], options?: Intl.NumberFormatOptions): string;
641
+ };
642
+ toString: () => string;
643
+ valueOf: () => Float32Array;
644
+ entries: () => ArrayIterator<[number, number]>;
645
+ keys: () => ArrayIterator<number>;
646
+ values: () => ArrayIterator<number>;
647
+ includes: (searchElement: number, fromIndex?: number) => boolean;
648
+ [Symbol.iterator]: () => ArrayIterator<number>;
649
+ readonly [Symbol.toStringTag]: "Float32Array";
650
+ at: (index: number) => number | undefined;
651
+ })[] | undefined;
652
+ duration?: number | undefined;
653
+ media?: HTMLMediaElement | undefined;
654
+ mediaControls?: boolean | undefined;
655
+ autoplay?: boolean | undefined;
656
+ interact: boolean;
657
+ dragToSeek: boolean | ({
658
+ debounceTime: number;
659
+ } & false) | ({
660
+ debounceTime: number;
661
+ } & true);
662
+ hideScrollbar?: boolean | undefined;
663
+ audioRate?: number | undefined;
664
+ autoScroll: boolean;
665
+ autoCenter: boolean;
666
+ sampleRate: number;
667
+ splitChannels?: {
668
+ container?: string | HTMLElement | undefined;
669
+ height?: (number | "auto") | undefined;
670
+ width?: (number | string) | undefined;
671
+ waveColor?: string | string[] | {
672
+ addColorStop: (offset: number, color: string) => void;
673
+ } | undefined;
674
+ progressColor?: string | string[] | {
675
+ addColorStop: (offset: number, color: string) => void;
676
+ } | undefined;
677
+ cursorColor?: string | undefined;
678
+ cursorWidth?: number | undefined;
679
+ barWidth?: number | undefined;
680
+ barGap?: number | undefined;
681
+ barRadius?: number | undefined;
682
+ barHeight?: number | undefined;
683
+ barAlign?: ("top" | "bottom") | undefined;
684
+ minPxPerSec?: number | undefined;
685
+ fillParent?: boolean | undefined;
686
+ url?: string | undefined;
687
+ peaks?: (number[] | {
688
+ [x: number]: number;
689
+ readonly BYTES_PER_ELEMENT: number;
690
+ readonly buffer: {
691
+ readonly byteLength: number;
692
+ slice: (begin: number, end?: number) => ArrayBuffer;
693
+ readonly [Symbol.toStringTag]: string;
694
+ } | {
695
+ readonly byteLength: number;
696
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
697
+ readonly [Symbol.species]: SharedArrayBuffer;
698
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
699
+ };
700
+ readonly byteLength: number;
701
+ readonly byteOffset: number;
702
+ copyWithin: (target: number, start: number, end?: number) => Float32Array;
703
+ every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
704
+ fill: (value: number, start?: number, end?: number) => Float32Array;
705
+ filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
706
+ find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
707
+ findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
708
+ forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
709
+ indexOf: (searchElement: number, fromIndex?: number) => number;
710
+ join: (separator?: string) => string;
711
+ lastIndexOf: (searchElement: number, fromIndex?: number) => number;
712
+ readonly length: number;
713
+ map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
714
+ reduce: {
715
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
716
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
717
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
718
+ };
719
+ reduceRight: {
720
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
721
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
722
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
723
+ };
724
+ reverse: () => Float32Array;
725
+ set: (array: ArrayLike<number>, offset?: number) => void;
726
+ slice: (start?: number, end?: number) => Float32Array;
727
+ some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
728
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
729
+ subarray: (begin?: number, end?: number) => Float32Array;
730
+ toLocaleString: {
731
+ (): string;
732
+ (locales: string | string[], options?: Intl.NumberFormatOptions): string;
733
+ };
734
+ toString: () => string;
735
+ valueOf: () => Float32Array;
736
+ entries: () => ArrayIterator<[number, number]>;
737
+ keys: () => ArrayIterator<number>;
738
+ values: () => ArrayIterator<number>;
739
+ includes: (searchElement: number, fromIndex?: number) => boolean;
740
+ [Symbol.iterator]: () => ArrayIterator<number>;
741
+ readonly [Symbol.toStringTag]: "Float32Array";
742
+ at: (index: number) => number | undefined;
743
+ })[] | undefined;
744
+ duration?: number | undefined;
745
+ media?: HTMLMediaElement | undefined;
746
+ mediaControls?: boolean | undefined;
747
+ autoplay?: boolean | undefined;
748
+ interact?: boolean | undefined;
749
+ dragToSeek?: boolean | {
750
+ debounceTime: number;
751
+ } | undefined;
752
+ hideScrollbar?: boolean | undefined;
753
+ audioRate?: number | undefined;
754
+ autoScroll?: boolean | undefined;
755
+ autoCenter?: boolean | undefined;
756
+ sampleRate?: number | undefined;
757
+ splitChannels?: any[] | undefined;
758
+ normalize?: boolean | undefined;
759
+ plugins?: {
760
+ _init: (wavesurfer: WaveSurfer) => void;
761
+ destroy: () => void;
762
+ on: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void, options?: {
763
+ once?: boolean;
764
+ }) => () => void;
765
+ un: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => void;
766
+ once: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => () => void;
767
+ unAll: () => void;
768
+ }[] | undefined;
769
+ renderFunction?: ((peaks: Array<Float32Array | number[]>, ctx: CanvasRenderingContext2D) => void) | undefined;
770
+ fetchParams?: {
771
+ body?: string | {
772
+ readonly byteLength: number;
773
+ slice: (begin: number, end?: number) => ArrayBuffer;
774
+ readonly [Symbol.toStringTag]: string;
775
+ } | {
776
+ readonly locked: boolean;
777
+ cancel: (reason?: any) => Promise<void>;
778
+ getReader: {
779
+ (options: {
780
+ mode: "byob";
781
+ }): ReadableStreamBYOBReader;
782
+ (): ReadableStreamDefaultReader<any>;
783
+ (options?: ReadableStreamGetReaderOptions): ReadableStreamReader<any>;
784
+ };
785
+ pipeThrough: <T>(transform: ReadableWritablePair<T, any>, options?: StreamPipeOptions) => ReadableStream<T>;
786
+ pipeTo: (destination: WritableStream<any>, options?: StreamPipeOptions) => Promise<void>;
787
+ tee: () => [ReadableStream<any>, ReadableStream<any>];
788
+ } | {
789
+ readonly size: number;
790
+ readonly type: string;
791
+ arrayBuffer: () => Promise<ArrayBuffer>;
792
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
793
+ stream: () => ReadableStream<Uint8Array>;
794
+ text: () => Promise<string>;
795
+ } | {
796
+ buffer: {
797
+ readonly byteLength: number;
798
+ slice: (begin: number, end?: number) => ArrayBuffer;
799
+ readonly [Symbol.toStringTag]: string;
800
+ } | {
801
+ readonly byteLength: number;
802
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
803
+ readonly [Symbol.species]: SharedArrayBuffer;
804
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
805
+ };
806
+ byteLength: number;
807
+ byteOffset: number;
808
+ } | {
809
+ append: {
810
+ (name: string, value: string | Blob): void;
811
+ (name: string, value: string): void;
812
+ (name: string, blobValue: Blob, filename?: string): void;
813
+ };
814
+ delete: (name: string) => void;
815
+ get: (name: string) => FormDataEntryValue | null;
816
+ getAll: (name: string) => FormDataEntryValue[];
817
+ has: (name: string) => boolean;
818
+ set: {
819
+ (name: string, value: string | Blob): void;
820
+ (name: string, value: string): void;
821
+ (name: string, blobValue: Blob, filename?: string): void;
822
+ };
823
+ forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void;
824
+ entries: () => FormDataIterator<[string, FormDataEntryValue]>;
825
+ keys: () => FormDataIterator<string>;
826
+ values: () => FormDataIterator<FormDataEntryValue>;
827
+ [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>;
828
+ } | {
829
+ readonly size: number;
830
+ append: (name: string, value: string) => void;
831
+ delete: (name: string, value?: string) => void;
832
+ get: (name: string) => string | null;
833
+ getAll: (name: string) => string[];
834
+ has: (name: string, value?: string) => boolean;
835
+ set: (name: string, value: string) => void;
836
+ sort: () => void;
837
+ toString: () => string;
838
+ forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void;
839
+ entries: () => URLSearchParamsIterator<[string, string]>;
840
+ keys: () => URLSearchParamsIterator<string>;
841
+ values: () => URLSearchParamsIterator<string>;
842
+ [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>;
843
+ } | null | undefined;
844
+ cache?: RequestCache | undefined;
845
+ credentials?: RequestCredentials | undefined;
846
+ headers?: [string, string][] | Record<string, string> | {
847
+ append: (name: string, value: string) => void;
848
+ delete: (name: string) => void;
849
+ get: (name: string) => string | null;
850
+ getSetCookie: () => string[];
851
+ has: (name: string) => boolean;
852
+ set: (name: string, value: string) => void;
853
+ forEach: (callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any) => void;
854
+ entries: () => HeadersIterator<[string, string]>;
855
+ keys: () => HeadersIterator<string>;
856
+ values: () => HeadersIterator<string>;
857
+ [Symbol.iterator]: () => HeadersIterator<[string, string]>;
858
+ } | undefined;
859
+ integrity?: string | undefined;
860
+ keepalive?: boolean | undefined;
861
+ method?: string | undefined;
862
+ mode?: RequestMode | undefined;
863
+ priority?: RequestPriority | undefined;
864
+ redirect?: RequestRedirect | undefined;
865
+ referrer?: string | undefined;
866
+ referrerPolicy?: ReferrerPolicy | undefined;
867
+ signal?: {
868
+ readonly aborted: boolean;
869
+ onabort: ((this: AbortSignal, ev: Event) => any) | null;
870
+ readonly reason: any;
871
+ throwIfAborted: {
872
+ (): void;
873
+ (): void;
874
+ };
875
+ addEventListener: {
876
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
877
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
878
+ };
879
+ removeEventListener: {
880
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
881
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
882
+ };
883
+ any: (signals: Iterable<AbortSignal>) => AbortSignal;
884
+ dispatchEvent: (event: Event) => boolean;
885
+ } | null | undefined;
886
+ window?: null | undefined;
887
+ } | undefined;
888
+ backend?: ("WebAudio" | "MediaElement") | undefined;
889
+ cspNonce?: string | undefined;
890
+ blobMimeType?: string | undefined;
891
+ overlay?: boolean | undefined;
892
+ }[] | undefined;
893
+ normalize?: boolean | undefined;
894
+ plugins?: {
895
+ _init: (wavesurfer: WaveSurfer) => void;
896
+ destroy: () => void;
897
+ on: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void, options?: {
898
+ once?: boolean;
899
+ }) => () => void;
900
+ un: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => void;
901
+ once: <EventName extends "destroy">(event: EventName, listener: (...args: import('wavesurfer.js/dist/base-plugin').BasePluginEvents[EventName]) => void) => () => void;
902
+ unAll: () => void;
903
+ }[] | undefined;
904
+ renderFunction?: ((peaks: Array<Float32Array | number[]>, ctx: CanvasRenderingContext2D) => void) | undefined;
905
+ fetchParams?: {
906
+ body?: string | {
907
+ readonly byteLength: number;
908
+ slice: (begin: number, end?: number) => ArrayBuffer;
909
+ readonly [Symbol.toStringTag]: string;
910
+ } | {
911
+ readonly locked: boolean;
912
+ cancel: (reason?: any) => Promise<void>;
913
+ getReader: {
914
+ (options: {
915
+ mode: "byob";
916
+ }): ReadableStreamBYOBReader;
917
+ (): ReadableStreamDefaultReader<any>;
918
+ (options?: ReadableStreamGetReaderOptions): ReadableStreamReader<any>;
919
+ };
920
+ pipeThrough: <T>(transform: ReadableWritablePair<T, any>, options?: StreamPipeOptions) => ReadableStream<T>;
921
+ pipeTo: (destination: WritableStream<any>, options?: StreamPipeOptions) => Promise<void>;
922
+ tee: () => [ReadableStream<any>, ReadableStream<any>];
923
+ } | {
924
+ readonly size: number;
925
+ readonly type: string;
926
+ arrayBuffer: () => Promise<ArrayBuffer>;
927
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
928
+ stream: () => ReadableStream<Uint8Array>;
929
+ text: () => Promise<string>;
930
+ } | {
931
+ buffer: {
932
+ readonly byteLength: number;
933
+ slice: (begin: number, end?: number) => ArrayBuffer;
934
+ readonly [Symbol.toStringTag]: string;
935
+ } | {
936
+ readonly byteLength: number;
937
+ slice: (begin: number, end?: number) => SharedArrayBuffer;
938
+ readonly [Symbol.species]: SharedArrayBuffer;
939
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
940
+ };
941
+ byteLength: number;
942
+ byteOffset: number;
943
+ } | {
944
+ append: {
945
+ (name: string, value: string | Blob): void;
946
+ (name: string, value: string): void;
947
+ (name: string, blobValue: Blob, filename?: string): void;
948
+ };
949
+ delete: (name: string) => void;
950
+ get: (name: string) => FormDataEntryValue | null;
951
+ getAll: (name: string) => FormDataEntryValue[];
952
+ has: (name: string) => boolean;
953
+ set: {
954
+ (name: string, value: string | Blob): void;
955
+ (name: string, value: string): void;
956
+ (name: string, blobValue: Blob, filename?: string): void;
957
+ };
958
+ forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void;
959
+ entries: () => FormDataIterator<[string, FormDataEntryValue]>;
960
+ keys: () => FormDataIterator<string>;
961
+ values: () => FormDataIterator<FormDataEntryValue>;
962
+ [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>;
963
+ } | {
964
+ readonly size: number;
965
+ append: (name: string, value: string) => void;
966
+ delete: (name: string, value?: string) => void;
967
+ get: (name: string) => string | null;
968
+ getAll: (name: string) => string[];
969
+ has: (name: string, value?: string) => boolean;
970
+ set: (name: string, value: string) => void;
971
+ sort: () => void;
972
+ toString: () => string;
973
+ forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void;
974
+ entries: () => URLSearchParamsIterator<[string, string]>;
975
+ keys: () => URLSearchParamsIterator<string>;
976
+ values: () => URLSearchParamsIterator<string>;
977
+ [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>;
978
+ } | null | undefined;
979
+ cache?: RequestCache | undefined;
980
+ credentials?: RequestCredentials | undefined;
981
+ headers?: [string, string][] | Record<string, string> | {
982
+ append: (name: string, value: string) => void;
983
+ delete: (name: string) => void;
984
+ get: (name: string) => string | null;
985
+ getSetCookie: () => string[];
986
+ has: (name: string) => boolean;
987
+ set: (name: string, value: string) => void;
988
+ forEach: (callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any) => void;
989
+ entries: () => HeadersIterator<[string, string]>;
990
+ keys: () => HeadersIterator<string>;
991
+ values: () => HeadersIterator<string>;
992
+ [Symbol.iterator]: () => HeadersIterator<[string, string]>;
993
+ } | undefined;
994
+ integrity?: string | undefined;
995
+ keepalive?: boolean | undefined;
996
+ method?: string | undefined;
997
+ mode?: RequestMode | undefined;
998
+ priority?: RequestPriority | undefined;
999
+ redirect?: RequestRedirect | undefined;
1000
+ referrer?: string | undefined;
1001
+ referrerPolicy?: ReferrerPolicy | undefined;
1002
+ signal?: {
1003
+ readonly aborted: boolean;
1004
+ onabort: ((this: AbortSignal, ev: Event) => any) | null;
1005
+ readonly reason: any;
1006
+ throwIfAborted: {
1007
+ (): void;
1008
+ (): void;
1009
+ };
1010
+ addEventListener: {
1011
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1012
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1013
+ };
1014
+ removeEventListener: {
1015
+ <K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1016
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1017
+ };
1018
+ any: (signals: Iterable<AbortSignal>) => AbortSignal;
1019
+ dispatchEvent: (event: Event) => boolean;
1020
+ } | null | undefined;
1021
+ window?: null | undefined;
1022
+ } | undefined;
1023
+ backend?: ("WebAudio" | "MediaElement") | undefined;
1024
+ cspNonce?: string | undefined;
1025
+ blobMimeType?: string | undefined;
1026
+ };
1027
+ setOptions: (options: Partial<import('wavesurfer.js').WaveSurferOptions>) => void;
1028
+ registerPlugin: <T extends import('wavesurfer.js/dist/base-plugin').GenericPlugin>(plugin: T) => T;
1029
+ unregisterPlugin: (plugin: import('wavesurfer.js/dist/base-plugin').GenericPlugin) => void;
1030
+ getWrapper: () => HTMLElement;
1031
+ getWidth: () => number;
1032
+ getScroll: () => number;
1033
+ setScroll: (pixels: number) => void;
1034
+ setScrollTime: (time: number) => void;
1035
+ getActivePlugins: () => import('wavesurfer.js/dist/base-plugin').GenericPlugin[];
1036
+ load: (url: string, channelData?: import('wavesurfer.js').WaveSurferOptions["peaks"], duration?: number) => Promise<void>;
1037
+ loadBlob: (blob: Blob, channelData?: import('wavesurfer.js').WaveSurferOptions["peaks"], duration?: number) => Promise<void>;
1038
+ zoom: (minPxPerSec: number) => void;
1039
+ getDecodedData: () => AudioBuffer | null;
1040
+ exportPeaks: ({ channels, maxLength, precision }?: {
1041
+ channels?: number | undefined;
1042
+ maxLength?: number | undefined;
1043
+ precision?: number | undefined;
1044
+ }) => Array<number[]>;
1045
+ getDuration: () => number;
1046
+ toggleInteraction: (isInteractive: boolean) => void;
1047
+ setTime: (time: number) => void;
1048
+ seekTo: (progress: number) => void;
1049
+ play: (start?: number, end?: number) => Promise<void>;
1050
+ playPause: () => Promise<void>;
1051
+ stop: () => void;
1052
+ skip: (seconds: number) => void;
1053
+ empty: () => void;
1054
+ setMediaElement: (element: HTMLMediaElement) => void;
1055
+ exportImage: {
1056
+ (format: string, quality: number, type: "dataURL"): Promise<string[]>;
1057
+ (format: string, quality: number, type: "blob"): Promise<Blob[]>;
1058
+ };
1059
+ destroy: () => void;
1060
+ pause: () => void;
1061
+ isPlaying: () => boolean;
1062
+ getCurrentTime: () => number;
1063
+ getVolume: () => number;
1064
+ setVolume: (volume: number) => void;
1065
+ getMuted: () => boolean;
1066
+ setMuted: (muted: boolean) => void;
1067
+ getPlaybackRate: () => number;
1068
+ isSeeking: () => boolean;
1069
+ setPlaybackRate: (rate: number, preservePitch?: boolean) => void;
1070
+ getMediaElement: () => HTMLMediaElement;
1071
+ setSinkId: (sinkId: string) => Promise<void>;
1072
+ on: <EventName extends keyof import('wavesurfer.js').WaveSurferEvents>(event: EventName, listener: (...args: import('wavesurfer.js').WaveSurferEvents[EventName]) => void, options?: {
1073
+ once?: boolean;
1074
+ }) => () => void;
1075
+ un: <EventName extends keyof import('wavesurfer.js').WaveSurferEvents>(event: EventName, listener: (...args: import('wavesurfer.js').WaveSurferEvents[EventName]) => void) => void;
1076
+ once: <EventName extends keyof import('wavesurfer.js').WaveSurferEvents>(event: EventName, listener: (...args: import('wavesurfer.js').WaveSurferEvents[EventName]) => void) => () => void;
1077
+ unAll: () => void;
1078
+ } | null>;
1079
+ waveSurferRecorder: Ref<{
1080
+ renderMicStream: (stream: MediaStream) => {
1081
+ onDestroy: () => void;
1082
+ onEnd: () => void;
1083
+ };
1084
+ startMic: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<MediaStream>;
1085
+ stopMic: () => void;
1086
+ startRecording: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<void>;
1087
+ getDuration: () => number;
1088
+ isRecording: () => boolean;
1089
+ isPaused: () => boolean;
1090
+ isActive: () => boolean;
1091
+ stopRecording: () => void;
1092
+ pauseRecording: () => void;
1093
+ resumeRecording: () => void;
1094
+ destroy: () => void;
1095
+ _init: (wavesurfer: WaveSurfer) => void;
1096
+ on: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void, options?: {
1097
+ once?: boolean;
1098
+ }) => () => void;
1099
+ un: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => void;
1100
+ once: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => () => void;
1101
+ unAll: () => void;
1102
+ } | null, RecordPlugin | {
1103
+ renderMicStream: (stream: MediaStream) => {
1104
+ onDestroy: () => void;
1105
+ onEnd: () => void;
1106
+ };
1107
+ startMic: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<MediaStream>;
1108
+ stopMic: () => void;
1109
+ startRecording: (options?: import('wavesurfer.js/dist/plugins/record.js').RecordPluginDeviceOptions) => Promise<void>;
1110
+ getDuration: () => number;
1111
+ isRecording: () => boolean;
1112
+ isPaused: () => boolean;
1113
+ isActive: () => boolean;
1114
+ stopRecording: () => void;
1115
+ pauseRecording: () => void;
1116
+ resumeRecording: () => void;
1117
+ destroy: () => void;
1118
+ _init: (wavesurfer: WaveSurfer) => void;
1119
+ on: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void, options?: {
1120
+ once?: boolean;
1121
+ }) => () => void;
1122
+ un: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => void;
1123
+ once: <EventName extends "destroy" | "record-progress" | "record-end" | "record-start" | "record-pause" | "record-resume" | "record-data-available">(event: EventName, listener: (...args: import('wavesurfer.js/dist/plugins/record.js').RecordPluginEvents[EventName]) => void) => () => void;
1124
+ unAll: () => void;
1125
+ } | null>;
1126
+ };