import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface RoutingQueueConditionalGroupRoutingConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#id RoutingQueueConditionalGroupRouting#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Id of the routing queue to which the rules belong * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#queue_id RoutingQueueConditionalGroupRouting#queue_id} */ readonly queueId: string; /** * rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#rules RoutingQueueConditionalGroupRouting#rules} */ readonly rules: RoutingQueueConditionalGroupRoutingRulesA[] | cdktf.IResolvable; } export interface RoutingQueueConditionalGroupRoutingRulesGroupsA { /** * ID (GUID) for Group, SkillGroup, Team * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#member_group_id RoutingQueueConditionalGroupRouting#member_group_id} */ readonly memberGroupId: string; /** * The type of the member group. Accepted values: TEAM, GROUP, SKILLGROUP * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#member_group_type RoutingQueueConditionalGroupRouting#member_group_type} */ readonly memberGroupType: string; } export declare function routingQueueConditionalGroupRoutingRulesGroupsAToTerraform(struct?: RoutingQueueConditionalGroupRoutingRulesGroupsA | cdktf.IResolvable): any; export declare function routingQueueConditionalGroupRoutingRulesGroupsAToHclTerraform(struct?: RoutingQueueConditionalGroupRoutingRulesGroupsA | cdktf.IResolvable): any; export declare class RoutingQueueConditionalGroupRoutingRulesGroupsAOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): RoutingQueueConditionalGroupRoutingRulesGroupsA | cdktf.IResolvable | undefined; set internalValue(value: RoutingQueueConditionalGroupRoutingRulesGroupsA | cdktf.IResolvable | undefined); private _memberGroupId?; get memberGroupId(): string; set memberGroupId(value: string); get memberGroupIdInput(): string; private _memberGroupType?; get memberGroupType(): string; set memberGroupType(value: string); get memberGroupTypeInput(): string; } export declare class RoutingQueueConditionalGroupRoutingRulesGroupsAList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: RoutingQueueConditionalGroupRoutingRulesGroupsA[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): RoutingQueueConditionalGroupRoutingRulesGroupsAOutputReference; } export interface RoutingQueueConditionalGroupRoutingRulesA { /** * The limit value, beyond which a rule evaluates as true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#condition_value RoutingQueueConditionalGroupRouting#condition_value} */ readonly conditionValue: number; /** * The queue being evaluated for this rule. For rule 1, this is always the current queue, so should not be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#evaluated_queue_id RoutingQueueConditionalGroupRouting#evaluated_queue_id} */ readonly evaluatedQueueId?: string; /** * The queue metric being evaluated. Valid values: EstimatedWaitTime, ServiceLevel. Defaults to `EstimatedWaitTime`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#metric RoutingQueueConditionalGroupRouting#metric} */ readonly metric?: string; /** * The operator that compares the actual value against the condition value. Valid values: GreaterThan, GreaterThanOrEqualTo, LessThan, LessThanOrEqualTo. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#operator RoutingQueueConditionalGroupRouting#operator} */ readonly operator: string; /** * The number of seconds to wait in this rule, if it evaluates as true, before evaluating the next rule. For the final rule, this is ignored, so need not be specified. Defaults to `2`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#wait_seconds RoutingQueueConditionalGroupRouting#wait_seconds} */ readonly waitSeconds?: number; /** * groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#groups RoutingQueueConditionalGroupRouting#groups} */ readonly groups: RoutingQueueConditionalGroupRoutingRulesGroupsA[] | cdktf.IResolvable; } export declare function routingQueueConditionalGroupRoutingRulesAToTerraform(struct?: RoutingQueueConditionalGroupRoutingRulesA | cdktf.IResolvable): any; export declare function routingQueueConditionalGroupRoutingRulesAToHclTerraform(struct?: RoutingQueueConditionalGroupRoutingRulesA | cdktf.IResolvable): any; export declare class RoutingQueueConditionalGroupRoutingRulesAOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): RoutingQueueConditionalGroupRoutingRulesA | cdktf.IResolvable | undefined; set internalValue(value: RoutingQueueConditionalGroupRoutingRulesA | cdktf.IResolvable | undefined); private _conditionValue?; get conditionValue(): number; set conditionValue(value: number); get conditionValueInput(): number; private _evaluatedQueueId?; get evaluatedQueueId(): string; set evaluatedQueueId(value: string); resetEvaluatedQueueId(): void; get evaluatedQueueIdInput(): string; private _metric?; get metric(): string; set metric(value: string); resetMetric(): void; get metricInput(): string; private _operator?; get operator(): string; set operator(value: string); get operatorInput(): string; private _waitSeconds?; get waitSeconds(): number; set waitSeconds(value: number); resetWaitSeconds(): void; get waitSecondsInput(): number; private _groups; get groups(): RoutingQueueConditionalGroupRoutingRulesGroupsAList; putGroups(value: RoutingQueueConditionalGroupRoutingRulesGroupsA[] | cdktf.IResolvable): void; get groupsInput(): any; } export declare class RoutingQueueConditionalGroupRoutingRulesAList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: RoutingQueueConditionalGroupRoutingRulesA[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): RoutingQueueConditionalGroupRoutingRulesAOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing genesyscloud_routing_queue_conditional_group_routing} */ export declare class RoutingQueueConditionalGroupRouting extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_routing_queue_conditional_group_routing"; /** * Generates CDKTF code for importing a RoutingQueueConditionalGroupRouting resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the RoutingQueueConditionalGroupRouting to import * @param importFromId The id of the existing RoutingQueueConditionalGroupRouting that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the RoutingQueueConditionalGroupRouting to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_queue_conditional_group_routing genesyscloud_routing_queue_conditional_group_routing} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options RoutingQueueConditionalGroupRoutingConfig */ constructor(scope: Construct, id: string, config: RoutingQueueConditionalGroupRoutingConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _queueId?; get queueId(): string; set queueId(value: string); get queueIdInput(): string; private _rules; get rules(): RoutingQueueConditionalGroupRoutingRulesAList; putRules(value: RoutingQueueConditionalGroupRoutingRulesA[] | cdktf.IResolvable): void; get rulesInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }