import type { api_ItemFields } from '../models/api_ItemFields'; import type { files_CreateFileInput } from '../models/files_CreateFileInput'; import type { files_File } from '../models/files_File'; import type { files_FilePresignedDownload } from '../models/files_FilePresignedDownload'; import type { files_ListOutput } from '../models/files_ListOutput'; import type { handler_SuccessResponse } from '../models/handler_SuccessResponse'; import type { handler_UpdateFolderPermissionsRequest } from '../models/handler_UpdateFolderPermissionsRequest'; import type { handler_UpdateRootFolderPermissionsRequest } from '../models/handler_UpdateRootFolderPermissionsRequest'; import type { CancelablePromise } from '../core/CancelablePromise'; export declare class FilesService { /** * List files within a file channel * * Lists files, folders, and links within a file channel. `channelId` is * required; pass `path` to scope the listing to a folder within the * channel. * * @param channelId File channel id to list files from * @param path Folder path within the channel to scope the listing * @param limit Maximum number of items to return * @param nextToken Pagination token for the next page of results * * @example * await assembly.listFiles({ channelId: ... }); */ static listFiles({ channelId, path, limit, nextToken, }: { /** * File channel id to list files from */ channelId: string; /** * Folder path within the channel to scope the listing */ path?: string; /** * Maximum number of items to return */ limit?: number; /** * Pagination token for the next page of results */ nextToken?: string; }): CancelablePromise; /** * Update Root Folder Permissions * * Updates the client access level on a file channel's root folder. Requires * internal-user privileges. On the Internal API the change cascades to all * folders in the channel; on the Platform API only the root folder is * updated. * * @example * await assembly.updateRootFolderPermissions({ requestBody: ... }); */ static updateRootFolderPermissions({ requestBody, }: { /** * Root folder permissions to apply */ requestBody: handler_UpdateRootFolderPermissionsRequest; }): CancelablePromise; /** * Create a File * * Creates a file, folder, or link record within a file channel. `channelID` * is required; `path` is required for folders and `linkUrl` for links. * Files default to "append" behavior (keep both, adding a numbered suffix) * when a file with the same name already exists at the path. * * @param fileType The type of file object to be created. This can be 'file', 'folder', or 'link'. * * @example * await assembly.createFile({ fileType: ..., requestBody: ... }); */ static createFile({ fileType, requestBody, }: { /** * The type of file object to be created. This can be 'file', 'folder', or 'link'. */ fileType: string; /** * File to create */ requestBody: files_CreateFileInput; }): CancelablePromise; /** * Delete a File * * Deletes a file, folder, or link by its id and returns the deleted item * reference. * * @param id File id * * @example * await assembly.deleteFile({ id: ... }); */ static deleteFile({ id, }: { /** * File id */ id: string; }): CancelablePromise; /** * Get a File's metadata * * Returns the metadata for a single file, folder, or link by its id. * * @param id File id * * @example * await assembly.retrieveFile({ id: ... }); */ static retrieveFile({ id, }: { /** * File id */ id: string; }): CancelablePromise; /** * Get a File's contents * * Streams the raw contents of a file as an octet-stream. * * @param id File id * * @example * await assembly.downloadAFile({ id: ... }); */ static downloadAFile({ id, }: { /** * File id */ id: string; }): CancelablePromise; /** * Get a File's download url * * Returns a short-lived presigned download URL for a file's contents. * * @param id File id * * @example * await assembly.retrieveDownloadUrlOfAFile({ id: ... }); */ static retrieveDownloadUrlOfAFile({ id, }: { /** * File id */ id: string; }): CancelablePromise; /** * Update Folder Permissions * * Updates the client access level on a folder. Requires internal-user * privileges. On the Internal API the change cascades to all descendant * folders; on the Platform API only the target folder is updated. * * @param id ID of the folder to update * * @example * await assembly.putV1FilesIdPermissions({ id: ..., requestBody: ... }); */ static putV1FilesIdPermissions({ id, requestBody, }: { /** * ID of the folder to update */ id: string; /** * Folder permissions to apply */ requestBody: handler_UpdateFolderPermissionsRequest; }): CancelablePromise; }