import { ReadableStream } from 'web-streams-polyfill'; export type ProgressEventTarget = Pick; export type ProgressData = Pick; export declare enum FileMethod { text = "readAsText", dataURL = "readAsDataURL", binaryString = "readAsBinaryString", arrayBuffer = "readAsArrayBuffer" } export type DataRuntime = Partial & { ReadableStream: typeof ReadableStream; }>; export declare const defaultDataRuntime: DataRuntime; export declare class DataToolkit { runtime: DataRuntime; constructor(runtime?: DataRuntime); polyfillProgressEvent: () => { new (type: string, eventInitDict?: ProgressEventInit): ProgressEvent; prototype: ProgressEvent; } | { new (type: string, { lengthComputable, total, loaded, ...meta }?: ProgressEventInit): { target: T | null; lengthComputable: boolean; total: number; loaded: number; readonly bubbles: boolean; cancelBubble: boolean; readonly cancelable: boolean; readonly composed: boolean; readonly currentTarget: EventTarget | null; readonly defaultPrevented: boolean; readonly eventPhase: number; readonly isTrusted: boolean; returnValue: boolean; readonly srcElement: EventTarget | null; readonly timeStamp: DOMHighResTimeStamp; readonly type: string; composedPath(): EventTarget[]; initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; preventDefault(): void; stopImmediatePropagation(): void; stopPropagation(): void; readonly NONE: 0; readonly CAPTURING_PHASE: 1; readonly AT_TARGET: 2; readonly BUBBLING_PHASE: 3; }; readonly NONE: 0; readonly CAPTURING_PHASE: 1; readonly AT_TARGET: 2; readonly BUBBLING_PHASE: 3; }; parseDocument: (text: string, contentType?: string) => Promise; makeFormData: (data: Record) => FormData; serializeNode: (root: Node) => { contentType: string; data: string | URLSearchParams | FormData; }; serialize: (data: T, contentType?: string) => { data: T | BodyInit; contentType?: string; }; takeBytes(stream: AsyncIterable, limit?: number): AsyncGenerator, void, unknown>; readBytes: (stream: AsyncIterable, limit?: number) => Promise; makeStream: (...chunks: BlobPart[]) => ReadableStream; streamFromProgress: (target: T) => AsyncGenerator; emitStreamProgress: (stream: ReadableStream, total: number, eventTarget: ProgressEventTarget) => AsyncGenerator; readAs: (file: Blob, method: keyof typeof FileMethod, encoding?: string) => { progress: AsyncGenerator; result: Promise; }; /** * @param raw - Binary data * * @return Base64 encoded data */ encodeBase64: (raw: string | Blob) => Promise; } export declare const polyfillProgressEvent: () => { new (type: string, eventInitDict?: ProgressEventInit): ProgressEvent; prototype: ProgressEvent; } | { new (type: string, { lengthComputable, total, loaded, ...meta }?: ProgressEventInit): { target: T; lengthComputable: boolean; total: number; loaded: number; readonly bubbles: boolean; cancelBubble: boolean; readonly cancelable: boolean; readonly composed: boolean; readonly currentTarget: EventTarget | null; readonly defaultPrevented: boolean; readonly eventPhase: number; readonly isTrusted: boolean; returnValue: boolean; readonly srcElement: EventTarget | null; readonly timeStamp: DOMHighResTimeStamp; readonly type: string; composedPath(): EventTarget[]; initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; preventDefault(): void; stopImmediatePropagation(): void; stopPropagation(): void; readonly NONE: 0; readonly CAPTURING_PHASE: 1; readonly AT_TARGET: 2; readonly BUBBLING_PHASE: 3; }; readonly NONE: 0; readonly CAPTURING_PHASE: 1; readonly AT_TARGET: 2; readonly BUBBLING_PHASE: 3; }, parseDocument: (text: string, contentType?: string) => Promise, makeFormData: (data: Record) => FormData, serializeNode: (root: Node) => { contentType: string; data: string | URLSearchParams | FormData; }, serialize: (data: T, contentType?: string) => { data: BodyInit | T; contentType?: string; }, takeBytes: (stream: AsyncIterable, limit?: number) => AsyncGenerator, void, unknown>, readBytes: (stream: AsyncIterable, limit?: number) => Promise, makeStream: (...chunks: BlobPart[]) => ReadableStream, streamFromProgress: (target: T) => AsyncGenerator, emitStreamProgress: (stream: ReadableStream, total: number, eventTarget: ProgressEventTarget) => AsyncGenerator, readAs: (file: Blob, method: keyof typeof FileMethod, encoding?: string) => { progress: AsyncGenerator; result: Promise; }, encodeBase64: (raw: string | Blob) => Promise;