/// <reference types="node" />
import { GulpTask, Spawn, SpawnOptions } from '@codification/cutwater-build-core';
import { CliConfig } from '../types/CliConfig';
export interface AwsCliOptions {
    debug?: boolean;
    endpointUrl?: string;
    noVerifySsl?: boolean;
    noPaginate?: boolean;
    output?: 'json' | 'text' | 'table';
    query?: string;
    profile?: string;
    region?: string;
    version?: boolean;
    color?: 'on' | 'off' | 'auto';
    noSignRequest?: boolean;
    caBundle?: string;
    cliReadTimeout?: number;
    cliConnectTimeout?: number;
    cliBinaryFormat?: 'base64' | 'raw-in-base64-out';
    noCliPager?: boolean;
    cliAutoPrompt?: boolean;
    noCliAutoPrompt?: boolean;
}
export interface AwsCliTaskConfig<P> extends CliConfig<AwsCliOptions, P> {
    spawn: Spawn;
}
export declare class AwsCliTask<P = Record<string, never>> extends GulpTask<AwsCliTaskConfig<P>, void> {
    protected output: Buffer | undefined;
    protected readonly awsCommand: string;
    protected readonly awsSubCommand: string;
    protected readonly filteredParams: string[];
    constructor(taskName?: string, command?: string, subCommand?: string, filteredParams?: string[], defaultConfig?: Partial<AwsCliTaskConfig<P>>);
    setConfig(taskConfig: Partial<AwsCliTaskConfig<P>>): void;
    replaceConfig(taskConfig: AwsCliTaskConfig<P>): void;
    setSpawnOptions(options: Partial<SpawnOptions>): void;
    replaceSpawnOptions(options: SpawnOptions): void;
    setOptions(options: Partial<AwsCliOptions>): void;
    replaceOptions(options: AwsCliOptions): void;
    setParameters(parameters: Partial<P>): void;
    replaceParameters(parameters: P): void;
    setArguments(args: string[]): void;
    executeTask(): Promise<void>;
}
//# sourceMappingURL=AwsCliTask.d.ts.map