import JobsResource, { type JobEventData } from './JobsResource'; import SignedUrlResource from './SignedUrlResource'; import TasksResource, { type JobTaskEventData, type TaskEventData } from './TasksResource'; import UsersResource from './UsersResource'; import WebhooksResource from './WebhooksResource'; export type UploadFileSource = Blob | Uint8Array | Iterable | AsyncIterable | NodeJS.ReadableStream; export declare class UploadFile { private readonly attributes; private readonly data; private readonly filename?; private readonly fileSize; constructor(data: UploadFileSource, filename?: string, fileSize?: number); add(key: string, value: unknown): void; toMultiPart(boundary: string): { size: number; stream: AsyncIterable; }; } export default class CloudConvert { private socket; private subscribedChannels; readonly apiKey: string; readonly useSandbox: boolean; readonly region: string | null; tasks: TasksResource; jobs: JobsResource; users: UsersResource; webhooks: WebhooksResource; signedUrls: SignedUrlResource; constructor(apiKey: string, useSandbox?: boolean, region?: null); call(method: 'GET' | 'POST' | 'DELETE', route: string, parameters?: UploadFile | object, options?: { presigned?: boolean; flat?: boolean; }): Promise; callWithBase(baseURL: string, method: 'GET' | 'POST' | 'DELETE', route: string, parameters?: UploadFile | object, options?: { presigned?: boolean; flat?: boolean; }): Promise; subscribe(channel: string, event: string, callback: ((event: JobEventData) => void) | ((event: TaskEventData) => void) | ((event: JobTaskEventData) => void)): void; closeSocket(): void; }