import type * as dockerode from 'dockerode';
export interface DockerConnectionCliFlags {
    docker?: string;
    dockerHost?: string;
    dockerPort?: number;
    ca?: string;
    cert?: string;
    key?: string;
}
export interface DockerCliFlags extends DockerConnectionCliFlags {
    tag?: string;
    buildArg?: string[];
    'cache-from'?: string;
    nocache: boolean;
    pull?: boolean;
    squash: boolean;
}
export declare const dockerConnectionCliFlags: {
    docker: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    dockerHost: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    dockerPort: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    ca: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    cert: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    key: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
};
export declare const dockerCliFlags: {
    docker: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    dockerHost: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    dockerPort: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    ca: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    cert: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    key: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    tag: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    buildArg: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    'cache-from': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    nocache: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    pull: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    squash: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
export interface BuildOpts {
    buildargs?: Dictionary<string>;
    cachefrom?: string[];
    nocache?: boolean;
    pull?: boolean;
    registryconfig?: import('@balena/compose/dist/multibuild').RegistrySecrets;
    squash?: boolean;
    t?: string;
}
export declare function generateBuildOpts(options: {
    buildArg?: string[];
    'cache-from'?: string;
    nocache: boolean;
    pull?: boolean;
    'registry-secrets'?: import('@balena/compose/dist/multibuild').RegistrySecrets;
    squash: boolean;
    tag?: string;
}): BuildOpts;
export declare function isBalenaEngine(docker: dockerode): Promise<boolean>;
export declare function getDocker(options: DockerConnectionCliFlags): Promise<dockerode>;
export declare function createClient(opts: dockerode.DockerOptions): Promise<dockerode>;
export declare function getDefaultDockerModemOpts(opts: DockerConnectionCliFlags): dockerode.DockerOptions;
export declare function generateConnectOpts(opts: DockerConnectionCliFlags): Promise<dockerode.DockerOptions>;
