import { APIResource } from "../core/resource.mjs"; import { APIPromise } from "../core/api-promise.mjs"; import { PagePromise, PaginatedResults, type PaginatedResultsParams } from "../core/pagination.mjs"; import { RequestOptions } from "../internal/request-options.mjs"; export declare class Files extends APIResource { /** * Retrieve details of a specific file by its ID, including metadata, media * properties, and associated jobs. */ retrieve(fileID: string, options?: RequestOptions): APIPromise; /** * Retrieve a list of files with optional filtering and pagination */ list(query?: FileListParams | null | undefined, options?: RequestOptions): PagePromise; /** * Delete a file. It will fail if there are processing jobs using this file. */ delete(fileID: string, options?: RequestOptions): APIPromise; } export type JobFilesPaginatedResults = PaginatedResults; export interface JobFile { /** * Unique identifier of the file */ id: string; /** * Audio bitrate in bits per second */ audio_bitrate: number; /** * Audio codec used */ audio_codec: string; /** * Timestamp when the file was created */ created_at: string; /** * Duration of the video in seconds */ duration: number; /** * Height of the video in pixels */ height: number; /** * ID of the job that created this file */ job_id: string; /** * MIME type of the file */ mime_type: string; /** * Path to the file in storage */ path: string; /** * Size of the file in bytes */ size: number; /** * StorageId identifier where the file is stored */ storage_id: string; /** * Pre-signed URL to directly access the file (only included when available) */ url: string; /** * Video bitrate in bits per second */ video_bitrate: number; /** * Video codec used */ video_codec: string; /** * Video framerate in frames per second */ video_framerate: number; /** * Width of the video in pixels */ width: number; /** * Stable, unsigned CDN delivery URL derived from the file's current storage * configuration. Omitted when no CDN base URL is configured. */ cdn_url?: string | null; } export interface FileListParams extends PaginatedResultsParams { /** * Filter by file ID */ id?: string; /** * Filter by audio codec */ audio_codec?: string; created?: FileListParams.Created; duration?: FileListParams.Duration; height?: FileListParams.Height; /** * Filter by job ID */ job_id?: string; /** * Filter by mime type */ mime_type?: string; path?: FileListParams.Path; size?: FileListParams.Size; /** * Filter by storage ID */ storage_id?: string; /** * Filter by video codec */ video_codec?: string; width?: FileListParams.Width; } export declare namespace FileListParams { interface Created { /** * Filter by creation date greater than or equal (UNIX epoch time) */ gte?: number; /** * Filter by creation date less than or equal (UNIX epoch time) */ lte?: number; /** * Sort by creation date (asc/desc) */ sort?: 'asc' | 'desc'; } interface Duration { /** * Filter by exact duration */ eq?: number; /** * Filter by duration greater than */ gt?: number; /** * Filter by duration greater than or equal */ gte?: number; /** * Filter by duration less than */ lt?: number; /** * Filter by duration less than or equal */ lte?: number; } interface Height { /** * Filter by exact height */ eq?: number; /** * Filter by height greater than */ gt?: number; /** * Filter by height greater than or equal */ gte?: number; /** * Filter by height less than */ lt?: number; /** * Filter by height less than or equal */ lte?: number; } interface Path { /** * Filter by path */ eq?: string; /** * Filter by path (case insensitive) */ ilike?: string; } interface Size { /** * Filter by exact file size */ eq?: number; /** * Filter by file size greater than */ gt?: number; /** * Filter by file size greater than or equal */ gte?: number; /** * Filter by file size less than */ lt?: number; /** * Filter by file size less than or equal */ lte?: number; } interface Width { /** * Filter by exact width */ eq?: number; /** * Filter by width greater than */ gt?: number; /** * Filter by width greater than or equal */ gte?: number; /** * Filter by width less than */ lt?: number; /** * Filter by width less than or equal */ lte?: number; } } export declare namespace Files { export { type JobFile as JobFile, type JobFilesPaginatedResults as JobFilesPaginatedResults, type FileListParams as FileListParams, }; } //# sourceMappingURL=files.d.mts.map