import { S3, t } from '../common';
declare type IBundleArgs = {
    bundleDir: string;
    bucket: string;
    bucketKey: string;
    silent?: boolean;
};
declare type IManifestArgs = {
    bucket: string;
    source: string;
    target: string;
    silent?: boolean;
};
export declare function push(args: t.IS3Config): {
    bundle: (args: IBundleArgs) => Promise<{
        bucket: string;
        endpoint: string;
        s3: {
            source: string;
            key: string;
        }[];
        manifest: typeof manifest;
    }>;
    manifest: (args: IManifestArgs) => Promise<void>;
};
export declare function bundle(args: {
    s3: S3;
    bundleDir: string;
    bucket: string;
    bucketKey: string;
    silent?: boolean;
}): Promise<{
    bucket: string;
    endpoint: string;
    s3: {
        source: string;
        key: string;
    }[];
    manifest: typeof manifest;
}>;
export declare function manifest(args: {
    s3: S3;
    bucket: string;
    source: string;
    target: string;
    silent?: boolean;
}): Promise<void>;
export {};
