import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface RoutingUtilizationConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#id RoutingUtilization#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; /** * call block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#call RoutingUtilization#call} */ readonly call?: RoutingUtilizationCall; /** * callback block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#callback RoutingUtilization#callback} */ readonly callback?: RoutingUtilizationCallback; /** * chat block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#chat RoutingUtilization#chat} */ readonly chat?: RoutingUtilizationChat; /** * email block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#email RoutingUtilization#email} */ readonly email?: RoutingUtilizationEmail; /** * label_utilizations block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#label_utilizations RoutingUtilization#label_utilizations} */ readonly labelUtilizations?: RoutingUtilizationLabelUtilizations[] | cdktf.IResolvable; /** * message block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#message RoutingUtilization#message} */ readonly message?: RoutingUtilizationMessage; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#timeouts RoutingUtilization#timeouts} */ readonly timeouts?: RoutingUtilizationTimeouts; } export interface RoutingUtilizationCall { /** * Block this media type when on a non-ACD conversation. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#include_non_acd RoutingUtilization#include_non_acd} */ readonly includeNonAcd?: boolean | cdktf.IResolvable; /** * Set of other media types that can interrupt this media type (call | callback | chat | email | message). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#interruptible_media_types RoutingUtilization#interruptible_media_types} */ readonly interruptibleMediaTypes?: string[]; /** * Maximum capacity of conversations of this media type. Value must be between 0 and 25. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#maximum_capacity RoutingUtilization#maximum_capacity} */ readonly maximumCapacity: number; } export declare function routingUtilizationCallToTerraform(struct?: RoutingUtilizationCallOutputReference | RoutingUtilizationCall): any; export declare function routingUtilizationCallToHclTerraform(struct?: RoutingUtilizationCallOutputReference | RoutingUtilizationCall): any; export declare class RoutingUtilizationCallOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RoutingUtilizationCall | undefined; set internalValue(value: RoutingUtilizationCall | undefined); private _includeNonAcd?; get includeNonAcd(): boolean | cdktf.IResolvable; set includeNonAcd(value: boolean | cdktf.IResolvable); resetIncludeNonAcd(): void; get includeNonAcdInput(): any; private _interruptibleMediaTypes?; get interruptibleMediaTypes(): string[]; set interruptibleMediaTypes(value: string[]); resetInterruptibleMediaTypes(): void; get interruptibleMediaTypesInput(): string[]; private _maximumCapacity?; get maximumCapacity(): number; set maximumCapacity(value: number); get maximumCapacityInput(): number; } export interface RoutingUtilizationCallback { /** * Block this media type when on a non-ACD conversation. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#include_non_acd RoutingUtilization#include_non_acd} */ readonly includeNonAcd?: boolean | cdktf.IResolvable; /** * Set of other media types that can interrupt this media type (call | callback | chat | email | message). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#interruptible_media_types RoutingUtilization#interruptible_media_types} */ readonly interruptibleMediaTypes?: string[]; /** * Maximum capacity of conversations of this media type. Value must be between 0 and 25. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#maximum_capacity RoutingUtilization#maximum_capacity} */ readonly maximumCapacity: number; } export declare function routingUtilizationCallbackToTerraform(struct?: RoutingUtilizationCallbackOutputReference | RoutingUtilizationCallback): any; export declare function routingUtilizationCallbackToHclTerraform(struct?: RoutingUtilizationCallbackOutputReference | RoutingUtilizationCallback): any; export declare class RoutingUtilizationCallbackOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RoutingUtilizationCallback | undefined; set internalValue(value: RoutingUtilizationCallback | undefined); private _includeNonAcd?; get includeNonAcd(): boolean | cdktf.IResolvable; set includeNonAcd(value: boolean | cdktf.IResolvable); resetIncludeNonAcd(): void; get includeNonAcdInput(): any; private _interruptibleMediaTypes?; get interruptibleMediaTypes(): string[]; set interruptibleMediaTypes(value: string[]); resetInterruptibleMediaTypes(): void; get interruptibleMediaTypesInput(): string[]; private _maximumCapacity?; get maximumCapacity(): number; set maximumCapacity(value: number); get maximumCapacityInput(): number; } export interface RoutingUtilizationChat { /** * Block this media type when on a non-ACD conversation. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#include_non_acd RoutingUtilization#include_non_acd} */ readonly includeNonAcd?: boolean | cdktf.IResolvable; /** * Set of other media types that can interrupt this media type (call | callback | chat | email | message). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#interruptible_media_types RoutingUtilization#interruptible_media_types} */ readonly interruptibleMediaTypes?: string[]; /** * Maximum capacity of conversations of this media type. Value must be between 0 and 25. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#maximum_capacity RoutingUtilization#maximum_capacity} */ readonly maximumCapacity: number; } export declare function routingUtilizationChatToTerraform(struct?: RoutingUtilizationChatOutputReference | RoutingUtilizationChat): any; export declare function routingUtilizationChatToHclTerraform(struct?: RoutingUtilizationChatOutputReference | RoutingUtilizationChat): any; export declare class RoutingUtilizationChatOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RoutingUtilizationChat | undefined; set internalValue(value: RoutingUtilizationChat | undefined); private _includeNonAcd?; get includeNonAcd(): boolean | cdktf.IResolvable; set includeNonAcd(value: boolean | cdktf.IResolvable); resetIncludeNonAcd(): void; get includeNonAcdInput(): any; private _interruptibleMediaTypes?; get interruptibleMediaTypes(): string[]; set interruptibleMediaTypes(value: string[]); resetInterruptibleMediaTypes(): void; get interruptibleMediaTypesInput(): string[]; private _maximumCapacity?; get maximumCapacity(): number; set maximumCapacity(value: number); get maximumCapacityInput(): number; } export interface RoutingUtilizationEmail { /** * Block this media type when on a non-ACD conversation. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#include_non_acd RoutingUtilization#include_non_acd} */ readonly includeNonAcd?: boolean | cdktf.IResolvable; /** * Set of other media types that can interrupt this media type (call | callback | chat | email | message). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#interruptible_media_types RoutingUtilization#interruptible_media_types} */ readonly interruptibleMediaTypes?: string[]; /** * Maximum capacity of conversations of this media type. Value must be between 0 and 25. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#maximum_capacity RoutingUtilization#maximum_capacity} */ readonly maximumCapacity: number; } export declare function routingUtilizationEmailToTerraform(struct?: RoutingUtilizationEmailOutputReference | RoutingUtilizationEmail): any; export declare function routingUtilizationEmailToHclTerraform(struct?: RoutingUtilizationEmailOutputReference | RoutingUtilizationEmail): any; export declare class RoutingUtilizationEmailOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RoutingUtilizationEmail | undefined; set internalValue(value: RoutingUtilizationEmail | undefined); private _includeNonAcd?; get includeNonAcd(): boolean | cdktf.IResolvable; set includeNonAcd(value: boolean | cdktf.IResolvable); resetIncludeNonAcd(): void; get includeNonAcdInput(): any; private _interruptibleMediaTypes?; get interruptibleMediaTypes(): string[]; set interruptibleMediaTypes(value: string[]); resetInterruptibleMediaTypes(): void; get interruptibleMediaTypesInput(): string[]; private _maximumCapacity?; get maximumCapacity(): number; set maximumCapacity(value: number); get maximumCapacityInput(): number; } export interface RoutingUtilizationLabelUtilizations { /** * Set of other labels that can interrupt this label. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#interrupting_label_ids RoutingUtilization#interrupting_label_ids} */ readonly interruptingLabelIds?: string[]; /** * Id of the label being configured. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#label_id RoutingUtilization#label_id} */ readonly labelId: string; /** * Maximum capacity of conversations with this label. Value must be between 0 and 25. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#maximum_capacity RoutingUtilization#maximum_capacity} */ readonly maximumCapacity: number; } export declare function routingUtilizationLabelUtilizationsToTerraform(struct?: RoutingUtilizationLabelUtilizations | cdktf.IResolvable): any; export declare function routingUtilizationLabelUtilizationsToHclTerraform(struct?: RoutingUtilizationLabelUtilizations | cdktf.IResolvable): any; export declare class RoutingUtilizationLabelUtilizationsOutputReference 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(): RoutingUtilizationLabelUtilizations | cdktf.IResolvable | undefined; set internalValue(value: RoutingUtilizationLabelUtilizations | cdktf.IResolvable | undefined); private _interruptingLabelIds?; get interruptingLabelIds(): string[]; set interruptingLabelIds(value: string[]); resetInterruptingLabelIds(): void; get interruptingLabelIdsInput(): string[]; private _labelId?; get labelId(): string; set labelId(value: string); get labelIdInput(): string; private _maximumCapacity?; get maximumCapacity(): number; set maximumCapacity(value: number); get maximumCapacityInput(): number; } export declare class RoutingUtilizationLabelUtilizationsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: RoutingUtilizationLabelUtilizations[] | 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): RoutingUtilizationLabelUtilizationsOutputReference; } export interface RoutingUtilizationMessage { /** * Block this media type when on a non-ACD conversation. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#include_non_acd RoutingUtilization#include_non_acd} */ readonly includeNonAcd?: boolean | cdktf.IResolvable; /** * Set of other media types that can interrupt this media type (call | callback | chat | email | message). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#interruptible_media_types RoutingUtilization#interruptible_media_types} */ readonly interruptibleMediaTypes?: string[]; /** * Maximum capacity of conversations of this media type. Value must be between 0 and 25. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#maximum_capacity RoutingUtilization#maximum_capacity} */ readonly maximumCapacity: number; } export declare function routingUtilizationMessageToTerraform(struct?: RoutingUtilizationMessageOutputReference | RoutingUtilizationMessage): any; export declare function routingUtilizationMessageToHclTerraform(struct?: RoutingUtilizationMessageOutputReference | RoutingUtilizationMessage): any; export declare class RoutingUtilizationMessageOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RoutingUtilizationMessage | undefined; set internalValue(value: RoutingUtilizationMessage | undefined); private _includeNonAcd?; get includeNonAcd(): boolean | cdktf.IResolvable; set includeNonAcd(value: boolean | cdktf.IResolvable); resetIncludeNonAcd(): void; get includeNonAcdInput(): any; private _interruptibleMediaTypes?; get interruptibleMediaTypes(): string[]; set interruptibleMediaTypes(value: string[]); resetInterruptibleMediaTypes(): void; get interruptibleMediaTypesInput(): string[]; private _maximumCapacity?; get maximumCapacity(): number; set maximumCapacity(value: number); get maximumCapacityInput(): number; } export interface RoutingUtilizationTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#read RoutingUtilization#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#update RoutingUtilization#update} */ readonly update?: string; } export declare function routingUtilizationTimeoutsToTerraform(struct?: RoutingUtilizationTimeouts | cdktf.IResolvable): any; export declare function routingUtilizationTimeoutsToHclTerraform(struct?: RoutingUtilizationTimeouts | cdktf.IResolvable): any; export declare class RoutingUtilizationTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RoutingUtilizationTimeouts | cdktf.IResolvable | undefined; set internalValue(value: RoutingUtilizationTimeouts | cdktf.IResolvable | undefined); private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization genesyscloud_routing_utilization} */ export declare class RoutingUtilization extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_routing_utilization"; /** * Generates CDKTF code for importing a RoutingUtilization 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 RoutingUtilization to import * @param importFromId The id of the existing RoutingUtilization that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_utilization#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the RoutingUtilization 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_utilization genesyscloud_routing_utilization} 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 RoutingUtilizationConfig = {} */ constructor(scope: Construct, id: string, config?: RoutingUtilizationConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _call; get call(): RoutingUtilizationCallOutputReference; putCall(value: RoutingUtilizationCall): void; resetCall(): void; get callInput(): RoutingUtilizationCall; private _callback; get callback(): RoutingUtilizationCallbackOutputReference; putCallback(value: RoutingUtilizationCallback): void; resetCallback(): void; get callbackInput(): RoutingUtilizationCallback; private _chat; get chat(): RoutingUtilizationChatOutputReference; putChat(value: RoutingUtilizationChat): void; resetChat(): void; get chatInput(): RoutingUtilizationChat; private _email; get email(): RoutingUtilizationEmailOutputReference; putEmail(value: RoutingUtilizationEmail): void; resetEmail(): void; get emailInput(): RoutingUtilizationEmail; private _labelUtilizations; get labelUtilizations(): RoutingUtilizationLabelUtilizationsList; putLabelUtilizations(value: RoutingUtilizationLabelUtilizations[] | cdktf.IResolvable): void; resetLabelUtilizations(): void; get labelUtilizationsInput(): any; private _message; get message(): RoutingUtilizationMessageOutputReference; putMessage(value: RoutingUtilizationMessage): void; resetMessage(): void; get messageInput(): RoutingUtilizationMessage; private _timeouts; get timeouts(): RoutingUtilizationTimeoutsOutputReference; putTimeouts(value: RoutingUtilizationTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }