import { CostandUsageReportServiceClient } from "./CostandUsageReportServiceClient";
import { DeleteReportDefinitionInput } from "./types/DeleteReportDefinitionInput";
import { DeleteReportDefinitionOutput } from "./types/DeleteReportDefinitionOutput";
import { DescribeReportDefinitionsInput } from "./types/DescribeReportDefinitionsInput";
import { DescribeReportDefinitionsOutput } from "./types/DescribeReportDefinitionsOutput";
import { PutReportDefinitionInput } from "./types/PutReportDefinitionInput";
import { PutReportDefinitionOutput } from "./types/PutReportDefinitionOutput";
export declare class CostandUsageReportService extends CostandUsageReportServiceClient {
    /**
     * <p>Deletes the specified report.</p>
     *
     * This operation may fail with one of the following errors:
     *   - {InternalErrorException} <p>An error on the server occurred during the processing of your request. Try again later.</p>
     *   - {ValidationException} <p>The input fails to satisfy the constraints specified by an AWS service.</p>
     *   - {Error} An error originating from the SDK or customizations rather than the service
     */
    deleteReportDefinition(args: DeleteReportDefinitionInput): Promise<DeleteReportDefinitionOutput>;
    deleteReportDefinition(args: DeleteReportDefinitionInput, cb: (err: any, data?: DeleteReportDefinitionOutput) => void): void;
    /**
     * <p>Lists the AWS Cost and Usage reports available to this account.</p>
     *
     * This operation may fail with one of the following errors:
     *   - {InternalErrorException} <p>An error on the server occurred during the processing of your request. Try again later.</p>
     *   - {Error} An error originating from the SDK or customizations rather than the service
     */
    describeReportDefinitions(args: DescribeReportDefinitionsInput): Promise<DescribeReportDefinitionsOutput>;
    describeReportDefinitions(args: DescribeReportDefinitionsInput, cb: (err: any, data?: DescribeReportDefinitionsOutput) => void): void;
    /**
     * <p>Creates a new report using the description that you provide.</p>
     *
     * This operation may fail with one of the following errors:
     *   - {DuplicateReportNameException} <p>A report with the specified name already exists in the account. Specify a different report name.</p>
     *   - {ReportLimitReachedException} <p>This account already has five reports defined. To define a new report, you must delete an existing report.</p>
     *   - {InternalErrorException} <p>An error on the server occurred during the processing of your request. Try again later.</p>
     *   - {ValidationException} <p>The input fails to satisfy the constraints specified by an AWS service.</p>
     *   - {Error} An error originating from the SDK or customizations rather than the service
     */
    putReportDefinition(args: PutReportDefinitionInput): Promise<PutReportDefinitionOutput>;
    putReportDefinition(args: PutReportDefinitionInput, cb: (err: any, data?: PutReportDefinitionOutput) => void): void;
}
