import type { ISession } from '../session/types.js';
export * from './types.js';
export * from './utils.js';
/** One named file: local path on disk and storage path under the cdnKey. */
export type NamedFile = {
    localPath: string;
    storagePath: string;
};
export type UploadNamedFilesOpts = {
    cdn: string;
    cdnKey: string;
    /** Explicit list of localPath → storagePath. No folder scanning. */
    files: NamedFile[];
    resume?: boolean;
};
/**
 * Upload a list of named files to chosen storage paths under an existing cdnKey.
 * No folder scanning: each entry is an explicit localPath/storagePath pair.
 * Stages all files, uploads to signed URLs as needed, then commits with the given cdnKey
 * so each file lands at {cdnKey}/{storagePath}.
 */
export declare function uploadNamedFilesToCdn(session: ISession, opts: UploadNamedFilesOpts): Promise<{
    paths: string[];
    cdnKey: string;
}>;
export type UploadSingleFileOpts = {
    cdn: string;
    cdnKey: string;
    localPath: string;
    storagePath: string;
    resume?: boolean;
};
/**
 * Upload a single file to a chosen storage path under an existing cdnKey.
 * Convenience wrapper around uploadNamedFilesToCdn with one file.
 */
export declare function uploadSingleFileToCdn(session: ISession, opts: UploadSingleFileOpts): Promise<{
    path: string;
    cdnKey: string;
}>;
export declare function uploadToTmpCdn(session: ISession, opts?: {
    resume?: boolean;
}): Promise<{
    cdnKey: string;
}>;
export declare function uploadToCdn(session: ISession, cdn: string, opts?: {
    resume?: boolean;
}): Promise<{
    cdnKey: string;
}>;
//# sourceMappingURL=index.d.ts.map