import * as core from "@terrascript/core"; export interface InheritedValueArgs extends core.SchemaArgs { dimensionKey?: string | core.StringOut; dimensionName?: string | core.StringOut; } export declare class InheritedValue extends core.Schema { dimensionKey?: string | core.StringOut; dimensionName?: string | core.StringOut; } export interface CostCategoryBlkArgs extends core.SchemaArgs { key?: string | core.StringOut; matchOptions?: core.Array | core.ArrayOut; values?: core.Array | core.ArrayOut; } export declare class CostCategoryBlk extends core.Schema { key?: string | core.StringOut; matchOptions?: core.Array | core.ArrayOut; values?: core.Array | core.ArrayOut; } export interface DimensionArgs extends core.SchemaArgs { key?: string | core.StringOut; matchOptions?: core.Array | core.ArrayOut; values?: core.Array | core.ArrayOut; } export declare class Dimension extends core.Schema { key?: string | core.StringOut; matchOptions?: core.Array | core.ArrayOut; values?: core.Array | core.ArrayOut; } export interface TagsArgs extends core.SchemaArgs { key?: string | core.StringOut; matchOptions?: core.Array | core.ArrayOut; values?: core.Array | core.ArrayOut; } export declare class Tags extends core.Schema { key?: string | core.StringOut; matchOptions?: core.Array | core.ArrayOut; values?: core.Array | core.ArrayOut; } export interface NotArgs extends core.SchemaArgs { costCategory?: CostCategoryBlk; dimension?: Dimension; tags?: Tags; } export declare class Not extends core.Schema { costCategory?: CostCategoryBlk; dimension?: Dimension; tags?: Tags; } export interface OrArgs extends core.SchemaArgs { costCategory?: CostCategoryBlk; dimension?: Dimension; tags?: Tags; } export declare class Or extends core.Schema { costCategory?: CostCategoryBlk; dimension?: Dimension; tags?: Tags; } export interface AndArgs extends core.SchemaArgs { costCategory?: CostCategoryBlk; dimension?: Dimension; tags?: Tags; } export declare class And extends core.Schema { costCategory?: CostCategoryBlk; dimension?: Dimension; tags?: Tags; } export interface RuleRuleArgs extends core.SchemaArgs { and?: core.Array | core.ArrayOut; costCategory?: CostCategoryBlk; dimension?: Dimension; not?: Not; or?: core.Array | core.ArrayOut; tags?: Tags; } export declare class RuleRule extends core.Schema { and?: core.Array | core.ArrayOut; costCategory?: CostCategoryBlk; dimension?: Dimension; not?: Not; or?: core.Array | core.ArrayOut; tags?: Tags; } export interface RuleArgs extends core.SchemaArgs { inheritedValue?: InheritedValue; rule?: RuleRule; type?: string | core.StringOut; value?: string | core.StringOut; } export declare class Rule extends core.Schema { inheritedValue?: InheritedValue; rule?: RuleRule; type?: string | core.StringOut; value?: string | core.StringOut; } export interface ParameterArgs extends core.SchemaArgs { type?: string | core.StringOut; values?: core.Array | core.ArrayOut; } export declare class Parameter extends core.Schema { type?: string | core.StringOut; values?: core.Array | core.ArrayOut; } export interface SplitChargeRuleArgs extends core.SchemaArgs { method: string | core.StringOut; parameter?: core.Array | core.ArrayOut; source: string | core.StringOut; targets: core.Array | core.ArrayOut; } export declare class SplitChargeRule extends core.Schema { method: string | core.StringOut; parameter?: core.Array | core.ArrayOut; source: string | core.StringOut; targets: core.Array | core.ArrayOut; } export interface CostCategoryArgs extends core.ResourceArgs { /** * (Optional) Default value for the cost category. */ defaultValue?: string | core.StringOut; /** * (Required) Unique name for the Cost Category. */ name: string | core.StringOut; /** * (Required) Configuration block for the Cost Category rules used to categorize costs. See below. */ rule: core.Array | core.ArrayOut; /** * (Required) Rule schema version in this particular Cost Category. */ ruleVersion: string | core.StringOut; /** * (Optional) Configuration block for the split charge rules used to allocate your charges between your * Cost Category values. See below. */ splitChargeRule?: core.Array | core.ArrayOut; /** * (Optional) Key-value mapping of resource tags. If configured with a provider [`default_tags` configu * ration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configu * ration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export declare class CostCategory extends core.Resource { /** * ARN of the cost category. */ arn: string | core.StringOut; /** * (Optional) Default value for the cost category. */ defaultValue?: string | core.StringOut; /** * Effective end data of your Cost Category. */ effectiveEnd: string | core.StringOut; /** * Effective state data of your Cost Category. */ effectiveStart: string | core.StringOut; /** * Unique ID of the cost category. */ id: string | core.StringOut; /** * (Required) Unique name for the Cost Category. */ name: string | core.StringOut; /** * (Required) Configuration block for the Cost Category rules used to categorize costs. See below. */ rule: core.Array | core.ArrayOut; /** * (Required) Rule schema version in this particular Cost Category. */ ruleVersion: string | core.StringOut; /** * (Optional) Configuration block for the split charge rules used to allocate your charges between your * Cost Category values. See below. */ splitChargeRule?: core.Array | core.ArrayOut; /** * (Optional) Key-value mapping of resource tags. If configured with a provider [`default_tags` configu * ration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configu * ration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: CostCategoryArgs); getNamespace(): string; } //# sourceMappingURL=cost_category.d.ts.map