/** Request payload for obtaining a presigned upload URL. */ interface GetPresignedUrlRequest { /** The name of the file to upload. */ fileName: string; /** The destination key for the file in the bucket. */ key: string; /** The unique identifier of the company. */ companyId: string; } /** Response returned when generating a presigned URL. */ interface UploadPresignedUrlResponse { /** The destination key for the file. */ key: string; /** The destination bucket. */ bucket: string; /** The presigned URL to upload the file to. */ presignedUrl: string; } /** Alias for UploadPresignedUrlResponse to support legacy imports. */ type IUploadPresignedUrlResponse = UploadPresignedUrlResponse; /** Response returned by the Assets API when converting an audio file to M4A. */ interface AudioConvertResponse { /** The MIME type of the converted audio (e.g. 'audio/mp4'). */ mimetype: string; /** The file extension of the converted audio (e.g. 'm4a'). */ extension: string; /** The base64-encoded audio data. */ data: string; /** The filename of the converted audio. */ filename: string; } /** Request parameters for fetching an attachment by its ID or key. */ interface GetAttachmentByIdRequest { /** The unique file identifier. Required when `key` is not provided. */ fileId?: string; /** The bucket provider (e.g. 's3', 'gcs'). Required when `key` is not provided. */ provider?: string; /** Whether to force the file to be downloaded as an attachment. */ download?: boolean; /** The filename to suggest for the downloaded file. */ filename?: string; /** The storage key of the file. When present, `fileId` and `provider` are ignored. */ key?: string; } /** Response returned when fetching an attachment by its ID or key. */ interface AttachmentByIdResponse { /** A temporary, signed URL to access the attachment. */ link: string; } export type { AttachmentByIdResponse, AudioConvertResponse, GetAttachmentByIdRequest, GetPresignedUrlRequest, IUploadPresignedUrlResponse, UploadPresignedUrlResponse };