import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface GroupConfig extends cdktf.TerraformMetaArguments { /** * Allow calls to be placed to this group Defaults to `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#calls_enabled Group#calls_enabled} */ readonly callsEnabled?: boolean | cdktf.IResolvable; /** * Group description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#description Group#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#id Group#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; /** * Allow owners to be included as members of the group. Defaults to `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#include_owners Group#include_owners} */ readonly includeOwners?: boolean | cdktf.IResolvable; /** * IDs of members assigned to the group. If not set, this resource will not manage group members. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#member_ids Group#member_ids} */ readonly memberIds?: string[]; /** * Group name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#name Group#name} */ readonly name: string; /** * IDs of owners of the group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#owner_ids Group#owner_ids} */ readonly ownerIds?: string[]; /** * Allow roles to be assigned to this group. Defaults to `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#roles_enabled Group#roles_enabled} */ readonly rolesEnabled?: boolean | cdktf.IResolvable; /** * Are membership rules visible to the person requesting to view the group. Defaults to `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#rules_visible Group#rules_visible} */ readonly rulesVisible?: boolean | cdktf.IResolvable; /** * Group type (official | social). This cannot be modified. Changing type attribute will cause the existing genesys_group object to dropped and recreated with a new ID. Defaults to `official`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#type Group#type} */ readonly type?: string; /** * Who can view this group (public | owners | members). Defaults to `public`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#visibility Group#visibility} */ readonly visibility?: string; /** * addresses block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#addresses Group#addresses} */ readonly addresses?: GroupAddresses[] | cdktf.IResolvable; /** * voicemail_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#voicemail_policy Group#voicemail_policy} */ readonly voicemailPolicy?: GroupVoicemailPolicy; } export interface GroupAddresses { /** * Phone extension. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#extension Group#extension} */ readonly extension?: string; /** * Phone number for this contact type. Must be in an E.164 number format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#number Group#number} */ readonly number?: string; /** * Contact type of the address. (GROUPRING | GROUPPHONE) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#type Group#type} */ readonly type: string; } export declare function groupAddressesToTerraform(struct?: GroupAddresses | cdktf.IResolvable): any; export declare function groupAddressesToHclTerraform(struct?: GroupAddresses | cdktf.IResolvable): any; export declare class GroupAddressesOutputReference 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(): GroupAddresses | cdktf.IResolvable | undefined; set internalValue(value: GroupAddresses | cdktf.IResolvable | undefined); private _extension?; get extension(): string; set extension(value: string); resetExtension(): void; get extensionInput(): string; private _number?; get number(): string; set number(value: string); resetNumber(): void; get numberInput(): string; private _type?; get type(): string; set type(value: string); get typeInput(): string; } export declare class GroupAddressesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: GroupAddresses[] | 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): GroupAddressesOutputReference; } export interface GroupVoicemailPolicy { /** * Removes any PII from group emails. This is overridden by the analogous organization configuration value. This is always true if HIPAA is enabled or unknown for an organization. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#disable_email_pii Group#disable_email_pii} */ readonly disableEmailPii?: boolean | cdktf.IResolvable; /** * Whether to include the voicemail transcription in a group notification email. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#include_email_transcriptions Group#include_email_transcriptions} */ readonly includeEmailTranscriptions?: boolean | cdktf.IResolvable; /** * Whether email notifications are sent to group members when a new voicemail is received. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#send_email_notifications Group#send_email_notifications} */ readonly sendEmailNotifications?: boolean | cdktf.IResolvable; } export declare function groupVoicemailPolicyToTerraform(struct?: GroupVoicemailPolicyOutputReference | GroupVoicemailPolicy): any; export declare function groupVoicemailPolicyToHclTerraform(struct?: GroupVoicemailPolicyOutputReference | GroupVoicemailPolicy): any; export declare class GroupVoicemailPolicyOutputReference 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(): GroupVoicemailPolicy | undefined; set internalValue(value: GroupVoicemailPolicy | undefined); private _disableEmailPii?; get disableEmailPii(): boolean | cdktf.IResolvable; set disableEmailPii(value: boolean | cdktf.IResolvable); resetDisableEmailPii(): void; get disableEmailPiiInput(): any; private _includeEmailTranscriptions?; get includeEmailTranscriptions(): boolean | cdktf.IResolvable; set includeEmailTranscriptions(value: boolean | cdktf.IResolvable); resetIncludeEmailTranscriptions(): void; get includeEmailTranscriptionsInput(): any; private _sendEmailNotifications?; get sendEmailNotifications(): boolean | cdktf.IResolvable; set sendEmailNotifications(value: boolean | cdktf.IResolvable); resetSendEmailNotifications(): void; get sendEmailNotificationsInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group genesyscloud_group} */ export declare class Group extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_group"; /** * Generates CDKTF code for importing a Group 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 Group to import * @param importFromId The id of the existing Group that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Group 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/group genesyscloud_group} 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 GroupConfig */ constructor(scope: Construct, id: string, config: GroupConfig); private _callsEnabled?; get callsEnabled(): boolean | cdktf.IResolvable; set callsEnabled(value: boolean | cdktf.IResolvable); resetCallsEnabled(): void; get callsEnabledInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _includeOwners?; get includeOwners(): boolean | cdktf.IResolvable; set includeOwners(value: boolean | cdktf.IResolvable); resetIncludeOwners(): void; get includeOwnersInput(): any; private _memberIds?; get memberIds(): string[]; set memberIds(value: string[]); resetMemberIds(): void; get memberIdsInput(): string[]; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _ownerIds?; get ownerIds(): string[]; set ownerIds(value: string[]); resetOwnerIds(): void; get ownerIdsInput(): string[]; private _rolesEnabled?; get rolesEnabled(): boolean | cdktf.IResolvable; set rolesEnabled(value: boolean | cdktf.IResolvable); resetRolesEnabled(): void; get rolesEnabledInput(): any; private _rulesVisible?; get rulesVisible(): boolean | cdktf.IResolvable; set rulesVisible(value: boolean | cdktf.IResolvable); resetRulesVisible(): void; get rulesVisibleInput(): any; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; private _visibility?; get visibility(): string; set visibility(value: string); resetVisibility(): void; get visibilityInput(): string; private _addresses; get addresses(): GroupAddressesList; putAddresses(value: GroupAddresses[] | cdktf.IResolvable): void; resetAddresses(): void; get addressesInput(): any; private _voicemailPolicy; get voicemailPolicy(): GroupVoicemailPolicyOutputReference; putVoicemailPolicy(value: GroupVoicemailPolicy): void; resetVoicemailPolicy(): void; get voicemailPolicyInput(): GroupVoicemailPolicy; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }