export interface ReportStatus {
    /** A timestamp that gives the date of a report delivery. */
    lastDelivery?: string;
    /** An enum that gives the status of a report delivery. */
    lastStatus?: 'SUCCESS' | 'ERROR_PERMISSIONS' | 'ERROR_NO_BUCKET';
}
export interface ReportDefinition {
    ReportName: string;
    TimeUnit: 'HOURLY' | 'DAILY' | 'MONTHLY';
    Format: 'textORcsv' | 'Parquet';
    Compression: 'ZIP' | 'GZIP' | 'Parquet';
    /** A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs. */
    AdditionalSchemaElements: 'RESOURCES' | 'SPLIT_COST_ALLOCATION_DATA' | 'MANUAL_DISCOUNT_COMPATIBILITY'[];
    S3Bucket: string;
    S3Prefix: string;
    S3Region: 'af-south-1' | 'ap-east-1' | 'ap-south-1' | 'ap-south-2' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-southeast-3' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'eu-north-1' | 'eu-south-1' | 'eu-south-2' | 'me-central-1' | 'me-south-1' | 'sa-east-1' | 'us-east-1' | 'us-east-2' | 'us-west-1' | 'us-west-2' | 'cn-north-1' | 'cn-northwest-1';
    /** A list of manifests that you want Amazon Web Services to create for this report. */
    AdditionalArtifacts?: 'REDSHIFT' | 'QUICKSIGHT' | 'ATHENA'[];
    /** Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits */
    RefreshClosedReports?: boolean;
    /** Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions. */
    ReportVersioning?: 'CREATE_NEW_REPORT' | 'OVERWRITE_REPORT';
    /** The Amazon resource name of the billing view. The BillingViewArn is needed to create Amazon Web Services Cost and Usage Report for each billing group maintained in the Amazon Web Services Billing Cond */
    BillingViewArn?: string;
    /** The status of the report. */
    ReportStatus?: ReportStatus;
}
export interface Tag {
    /** The key of the tag. Tag keys are case sensitive. Each report definition can only have up to one tag with the same key. If you try to add an existing tag with the same key, the existing tag value will  */
    Key: string;
    /** The value of the tag. Tag values are case-sensitive. This can be an empty string. */
    Value: string;
}
/** Deletes the specified report. */
export interface DeleteReportDefinitionInput {
    /** The name of the report that you want to delete. The name must be unique, is case sensitive, and can't include spaces. */
    ReportName: string;
}
/** Requests a Amazon Web Services Cost and Usage Report list owned by the account. */
export interface DescribeReportDefinitionsInput {
    MaxResults?: number;
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The report name of the report definition that tags are to be returned for. */
    ReportName: string;
}
export interface ModifyReportDefinitionInput {
    ReportDefinition: ReportDefinition;
    ReportName: string;
}
/** Creates a Cost and Usage Report. */
export interface PutReportDefinitionInput {
    /** Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information. */
    ReportDefinition: ReportDefinition;
    /** The tags to be assigned to the report definition resource. */
    Tags?: Tag[];
}
export interface TagResourceInput {
    /** The report name of the report definition that tags are to be associated with. */
    ReportName: string;
    /** The tags to be assigned to the report definition resource. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The report name of the report definition that tags are to be disassociated from. */
    ReportName: string;
    /** The tags to be disassociated from the report definition resource. */
    TagKeys: string[];
}
/** Cost and Usage Report Service service binding for Step Functions SDK integrations. */
export declare class CostandUsageReportService {
    constructor();
    deleteReportDefinition<T>(params: DeleteReportDefinitionInput): Promise<T>;
    describeReportDefinitions<T>(params: DescribeReportDefinitionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    modifyReportDefinition<T>(params: ModifyReportDefinitionInput): Promise<T>;
    putReportDefinition<T>(params: PutReportDefinitionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
}
//# sourceMappingURL=CostandUsageReportService.d.ts.map