export declare const DEFAULT_TOS_MULTIPART_THRESHOLD: number;
export declare const DEFAULT_TOS_PART_SIZE: number;
export declare const DEFAULT_TOS_TASK_NUM = 1;
export declare const DEFAULT_TOS_UPLOAD_MAX_ATTEMPTS = 4;
export declare const DEFAULT_TOS_UPLOAD_RETRY_BASE_DELAY_MS = 1000;
export interface TosCredentials {
    accessKeyId: string;
    accessKeySecret: string;
    region: string;
    endpoint: string;
}
export interface TosUploadProgress {
    uploadedBytes: number;
    totalBytes: number;
    percent: number;
}
export interface TosUploadOptions {
    filePath: string;
    bucket: string;
    key: string;
    credentials: TosCredentials;
    contentType?: string;
    multipartThreshold?: number;
    partSize?: number;
    taskNum?: number;
    checkpointDir?: string;
    maxAttempts?: number;
    retryBaseDelayMs?: number;
    logPrefix?: string;
    onRetry?: (message: string) => void;
    onProgress?: (progress: TosUploadProgress) => void;
}
export interface TosSignedUrlOptions {
    bucket: string;
    key: string;
    credentials: TosCredentials;
    expiresSeconds: number;
    publicEndpoint?: string;
}
export declare function formatTosUri(bucket: string, key: string): string;
export declare function isRetryableTosUploadError(err: unknown): boolean;
export declare function formatTosError(err: unknown): string;
export declare function uploadTosObject(options: TosUploadOptions): Promise<void>;
export declare function createTosSignedUrl(options: TosSignedUrlOptions): string;
//# sourceMappingURL=tos-storage.d.ts.map