import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { BillScenarioReference, IBillScenarioRef } from "../../interfaces/generated/aws-bcmpricingcalculator-interfaces.generated";
/**
 * Resource Type definition for AWS::BcmPricingCalculator::BillScenario.
 *
 * @cloudformationResource AWS::BcmPricingCalculator::BillScenario
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmpricingcalculator-billscenario.html
 */
export declare class CfnBillScenario extends cdk.CfnResource implements cdk.IInspectable, IBillScenarioRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnBillScenario from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBillScenario;
    /**
     * Checks whether the given object is a CfnBillScenario
     */
    static isCfnBillScenario(x: any): x is CfnBillScenario;
    static arnForBillScenario(resource: IBillScenarioRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The ARN of the cost category group sharing preference.
     */
    private _costCategoryGroupSharingPreferenceArn?;
    /**
     * The timestamp when the bill scenario expires.
     */
    private _expiresAt?;
    private _groupSharingPreference?;
    /**
     * The name of the bill scenario.
     */
    private _name?;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    private _tags?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::BcmPricingCalculator::BillScenario`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnBillScenarioProps);
    get billScenarioRef(): BillScenarioReference;
    /**
     * The ARN of the cost category group sharing preference.
     */
    get costCategoryGroupSharingPreferenceArn(): string | undefined;
    /**
     * The ARN of the cost category group sharing preference.
     */
    set costCategoryGroupSharingPreferenceArn(value: string | undefined);
    /**
     * The timestamp when the bill scenario expires.
     */
    get expiresAt(): string | undefined;
    /**
     * The timestamp when the bill scenario expires.
     */
    set expiresAt(value: string | undefined);
    get groupSharingPreference(): string | undefined;
    set groupSharingPreference(value: string | undefined);
    /**
     * The name of the bill scenario.
     */
    get name(): string | undefined;
    /**
     * The name of the bill scenario.
     */
    set name(value: string | undefined);
    /**
     * An array of key-value pairs to apply to this resource.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the bill scenario.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * @cloudformationAttribute BillInterval
     */
    get attrBillInterval(): cdk.IResolvable;
    /**
     * The timestamp when the bill scenario was created
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The failure message if the bill scenario failed
     *
     * @cloudformationAttribute FailureMessage
     */
    get attrFailureMessage(): string;
    /**
     * The unique identifier of the bill scenario
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * @cloudformationAttribute Status
     */
    get attrStatus(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnBillScenario {
    /**
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bcmpricingcalculator-billscenario-billinterval.html
     */
    interface BillIntervalProperty {
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bcmpricingcalculator-billscenario-billinterval.html#cfn-bcmpricingcalculator-billscenario-billinterval-end
         */
        readonly end?: string;
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bcmpricingcalculator-billscenario-billinterval.html#cfn-bcmpricingcalculator-billscenario-billinterval-start
         */
        readonly start?: string;
    }
}
/**
 * Properties for defining a `CfnBillScenario`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmpricingcalculator-billscenario.html
 */
export interface CfnBillScenarioProps {
    /**
     * The ARN of the cost category group sharing preference.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmpricingcalculator-billscenario.html#cfn-bcmpricingcalculator-billscenario-costcategorygroupsharingpreferencearn
     */
    readonly costCategoryGroupSharingPreferenceArn?: string;
    /**
     * The timestamp when the bill scenario expires.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmpricingcalculator-billscenario.html#cfn-bcmpricingcalculator-billscenario-expiresat
     */
    readonly expiresAt?: string;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmpricingcalculator-billscenario.html#cfn-bcmpricingcalculator-billscenario-groupsharingpreference
     */
    readonly groupSharingPreference?: string;
    /**
     * The name of the bill scenario.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmpricingcalculator-billscenario.html#cfn-bcmpricingcalculator-billscenario-name
     */
    readonly name?: string;
    /**
     * An array of key-value pairs to apply to this resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmpricingcalculator-billscenario.html#cfn-bcmpricingcalculator-billscenario-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
export type { IBillScenarioRef, BillScenarioReference };
