/// <reference types="node" />
import * as __aws_sdk_middleware_stack from "@aws-sdk/middleware-stack";
import * as __aws_sdk_types from "@aws-sdk/types";
import * as _stream from "stream";
import { CostandUsageReportServiceConfiguration, CostandUsageReportServiceResolvedConfiguration } from "./CostandUsageReportServiceConfiguration";
import { InputTypesUnion } from "./types/InputTypesUnion";
import { OutputTypesUnion } from "./types/OutputTypesUnion";
export declare class CostandUsageReportServiceClient implements __aws_sdk_types.AWSClient<InputTypesUnion, OutputTypesUnion, _stream.Readable> {
    readonly config: CostandUsageReportServiceResolvedConfiguration;
    readonly middlewareStack: __aws_sdk_middleware_stack.MiddlewareStack<InputTypesUnion, OutputTypesUnion, _stream.Readable>;
    constructor(configuration: CostandUsageReportServiceConfiguration);
    destroy(): void;
    /**
     * This will need to be revised when the command interface lands.
     */
    send<InputType extends InputTypesUnion, OutputType extends OutputTypesUnion>(command: __aws_sdk_types.Command<InputTypesUnion, InputType, OutputTypesUnion, OutputType, CostandUsageReportServiceResolvedConfiguration, _stream.Readable>): Promise<OutputType>;
    send<InputType extends InputTypesUnion, OutputType extends OutputTypesUnion>(command: __aws_sdk_types.Command<InputTypesUnion, InputType, OutputTypesUnion, OutputType, CostandUsageReportServiceResolvedConfiguration, _stream.Readable>, cb: (err: any, data?: OutputType) => void): void;
}
