import type { CommandContext, ExecResult as JustBashExecResult } from 'just-bash';
import { HttpRequest, HttpResponse } from '@smithy/protocol-http';
import type { HttpHandlerOptions, RequestHandler } from '@smithy/types';
import type { VirtualFS } from '../virtual-fs';
import { AWS_AUTH_PATH, AWS_CONFIG_PATH, type AwsOutputFormat, inspectAwsStoredState } from './aws-storage';
type MaybeKeychain = {
    persistCurrentState(): Promise<void>;
} | null | undefined;
interface AwsGlobalOptions {
    profile?: string;
    region?: string;
    output?: AwsOutputFormat;
    debug: boolean;
    help: boolean;
    version: boolean;
    commandArgs: string[];
}
export declare function ok(stdout: string, stderr?: string): JustBashExecResult;
export declare function err(stderr: string, exitCode?: number): JustBashExecResult;
export declare function parseAwsGlobalArgs(args: string[]): AwsGlobalOptions | {
    error: string;
};
export declare class AlmostnodeAwsRequestHandler implements RequestHandler<HttpRequest, HttpResponse, HttpHandlerOptions> {
    private readonly onDebug?;
    metadata: {
        handlerProtocol: string;
    };
    constructor(onDebug?: ((message: string) => void) | undefined);
    handle(request: HttpRequest, options?: HttpHandlerOptions): Promise<{
        response: HttpResponse;
    }>;
    destroy(): void;
}
export declare function runAwsCommand(args: string[], ctx: CommandContext, vfs: VirtualFS, keychain?: MaybeKeychain): Promise<JustBashExecResult>;
export { AWS_AUTH_PATH, AWS_CONFIG_PATH, inspectAwsStoredState, };
//# sourceMappingURL=aws-command.d.ts.map