import { FileData } from "./FileData"; export declare class MultipleFileData extends Array { constructor(...files: FileData[]); static get [Symbol.species](): ArrayConstructor; /** * Maps the FileData elements of the MultipleFileData array to a new array. * If the mapped values are all instances of FileData, the resulting array is wrapped in a new MultipleFileData instance. * Otherwise, the resulting array is returned as-is. * @param callbackfn - The function to execute on each element. * @param thisArg - The value of `this` provided to the callback function. * @returns The resulting array of values. */ map(callbackfn: (value: FileData, index: number, array: FileData[]) => U, thisArg?: any): MultipleFileData; /** * Maps the FileData elements of the MultipleFileData array to a new array. * If the mapped values are all instances of FileData, the resulting array is wrapped in a new MultipleFileData instance. * Otherwise, the resulting array is returned as-is. * @param callbackfn - The function to execute on each element. * @param thisArg - The value of `this` provided to the callback function. * @returns The resulting array of values. */ map(callbackfn: (value: FileData, index: number, array: FileData[]) => U, thisArg?: any): U[]; /** * Creates a shallow copy of a portion of an array into a new MultipleFileData object. * The elements of the returned array are chosen from the original array. * @param predicate - A function to test each element of the array. * @param thisArg - Value to use as this when executing callback. * @returns A new MultipleFileData object containing the filtered elements. */ filter(predicate: (value: FileData, index: number, array: FileData[]) => boolean, thisArg?: any): MultipleFileData; /** * Creates a shallow copy of a portion of an array into a new MultipleFileData object. * @param start - The starting index of the slice. If negative, it is treated as being relative to the end of the array. * @param end - The ending index of the slice. If negative, it is treated as being relative to the end of the array. * @returns A new MultipleFileData object containing the sliced elements. */ slice(start?: number, end?: number): MultipleFileData; /** * Calls a provided function once for each FileData element in the array. * The provided function is invoked with the following arguments: * value: The current FileData element being processed in the array. * index: The index of the current FileData element being processed in the array. * array: The array of FileData elements. * @param callbackfn - The function to call for each FileData element. * @param thisArg - Optional value to use as `this` when executing callback. */ forEach(callbackfn: (value: FileData, index: number, array: FileData[]) => void, thisArg?: any): void; /** * Saves multiple files to the specified location. * This method is a wrapper around the map method of the array. * It takes an array of FileData and maps each file to its save method. * The result is an array of strings, where each string is the file path * where the respective file was saved. * @param args - Optional payload sent to the save method. * @returns An array of file paths where the files were saved. */ bulkSave(args: SavePayloadType): ReturnType; }