///
import type { Class } from './utils';
export type Data = ArrayBuffer | Blob | Buffer | File | Uint8Array;
type DataName = 'ArrayBuffer' | 'Blob' | 'Buffer' | 'File' | 'Uint8Array';
export type ResourceMetadata = {
mime?: string;
name?: string;
lastModified?: number;
};
export declare const assertNever: (_: never, argName: string) => never;
export declare function assertDataType(value: unknown, argName: string): asserts value is Data;
export declare const assertDataTypeClass: (value: unknown, argName: string) => void;
type AssertString = (arg: unknown, argName: string) => asserts arg is string;
export declare const assertString: AssertString;
export declare const assertNotEmptyString: AssertString;
export declare function assertInteger(arg: unknown, argName: string, isUnsigned: boolean): asserts arg is number;
export declare const getConstructor: (instance: T) => Class;
export declare const getConstructorName: (constructor: Record) => DataName;
export declare const getDataLength: (value: T) => number;
export declare function castData(input: Data, options: {
type: Class;
} & ResourceMetadata, maxBytes?: number): Promise;
export {};
//# sourceMappingURL=data-types.d.ts.map