export declare const MAX_SOURCE_BYTES: number; /** Left out of every upload. `.env` files are the usual place for secrets, and they must not travel with the source. */ export declare const DEFAULT_EXCLUDES: string[]; export interface IPackedSource { file: string; sha256: string; bytes: number; /** The patterns that were left out, so what was not uploaded is never a surprise. */ excluded: string[]; /** `.dockerignore` lines that could not be honoured. */ warnings: string[]; cleanup(): void; } /** Reads `.dockerignore` into tar exclude patterns. Negations ("!keep") cannot be expressed and are reported, not guessed at. */ export declare function readDockerignore(dir: string): { patterns: string[]; warnings: string[]; }; /** Packs a directory into a compressed archive, hashes it, and refuses anything over the size limit. */ export declare function packSource(dir: string, options?: { dockerfile?: string; exclude?: string[]; }): Promise; export interface IUploadTicket { url: string; method: string; headers: Record; } /** Sends the archive straight to the bucket in the customer's cloud account. Ductape's servers never see it. */ export declare function uploadSource(ticket: IUploadTicket, file: string): Promise;