import { Api } from './api'; /** * Metadata for an uploaded file in Datalynk */ export interface UploadedFile { /** File ID used to reference file in Datalynk */ id: number; /** Filename */ name: string; /** Size of file on disk */ size: number; /** Filename extension */ extension: string; /** Mimetype */ mime: string; /** URL to open file */ url?: string; } /** * Handle uploading & fetching files from Datalynk */ export declare class Files { private readonly api; constructor(api: Api); /** * Associate an existing file with an existing row * * @param {number | number[]} fileIds Existing files to associate * @param {number} slice Target slice * @param {number} row Target slice record * @param {string} field Record filed file should be added to * @param {boolean} execute Will run request by default, passing false will return the API request instead * @return {any} The API response by default, or the raw API request if execute is false */ associate(fileIds: number | number[], slice: number, row: number, field: string, execute?: true): Promise; associate(fileIds: number | number[], slice: number, row: number, field: string, execute: false): { '!/tools/file/update': { slice: number; row: number; field: string; ids: number[]; }; }; /** * Get an authenticated URL to fetch files from * * @param {number} id File ID * @param {boolean} ignoreToken Ignore authentication * @return {string} URL file can be viewed at */ get(id: number, ignoreToken?: boolean): string; /** * Upload file(s) to the API & optionally associate them with a row * * @param {FileList | File | File[]} files Files to be uploaded * @param {{slice: number, row: any, field: string, pk?: string}} associate Row to associate with */ upload(files: FileList | File | File[], associate?: { slice: number; row: number | any; field: string; pk?: string; }): Promise; } //# sourceMappingURL=files.d.ts.map