import { AuditEventType, CommentBodyTextType, DomainStatus, FieldNamespace, FieldType, Order, RelatedItemType, RuleType, SearchAllRelatedItemsSortProperty, SlaStatus, SlaType, TagPropagationResourceType, TemplateStatus, } from "./enums"; export interface EmptyFieldValue {} export type FieldValueUnion = | FieldValueUnion.BooleanValueMember | FieldValueUnion.DoubleValueMember | FieldValueUnion.EmptyValueMember | FieldValueUnion.StringValueMember | FieldValueUnion.UserArnValueMember | FieldValueUnion.$UnknownMember; export declare namespace FieldValueUnion { interface StringValueMember { stringValue: string; doubleValue?: never; booleanValue?: never; emptyValue?: never; userArnValue?: never; $unknown?: never; } interface DoubleValueMember { stringValue?: never; doubleValue: number; booleanValue?: never; emptyValue?: never; userArnValue?: never; $unknown?: never; } interface BooleanValueMember { stringValue?: never; doubleValue?: never; booleanValue: boolean; emptyValue?: never; userArnValue?: never; $unknown?: never; } interface EmptyValueMember { stringValue?: never; doubleValue?: never; booleanValue?: never; emptyValue: EmptyFieldValue; userArnValue?: never; $unknown?: never; } interface UserArnValueMember { stringValue?: never; doubleValue?: never; booleanValue?: never; emptyValue?: never; userArnValue: string; $unknown?: never; } interface $UnknownMember { stringValue?: never; doubleValue?: never; booleanValue?: never; emptyValue?: never; userArnValue?: never; $unknown: [string, any]; } interface Visitor { stringValue: (value: string) => T; doubleValue: (value: number) => T; booleanValue: (value: boolean) => T; emptyValue: (value: EmptyFieldValue) => T; userArnValue: (value: string) => T; _: (name: string, value: any) => T; } } export interface FieldValue { id: string | undefined; value: FieldValueUnion | undefined; } export type UserUnion = | UserUnion.CustomEntityMember | UserUnion.UserArnMember | UserUnion.$UnknownMember; export declare namespace UserUnion { interface UserArnMember { userArn: string; customEntity?: never; $unknown?: never; } interface CustomEntityMember { userArn?: never; customEntity: string; $unknown?: never; } interface $UnknownMember { userArn?: never; customEntity?: never; $unknown: [string, any]; } interface Visitor { userArn: (value: string) => T; customEntity: (value: string) => T; _: (name: string, value: any) => T; } } export interface CreateCaseRequest { domainId: string | undefined; templateId: string | undefined; fields: FieldValue[] | undefined; clientToken?: string | undefined; performedBy?: UserUnion | undefined; tags?: Record | undefined; } export interface CreateCaseResponse { caseId: string | undefined; caseArn: string | undefined; } export interface DeleteCaseRequest { domainId: string | undefined; caseId: string | undefined; } export interface DeleteCaseResponse {} export interface FieldIdentifier { id: string | undefined; } export interface GetCaseRequest { caseId: string | undefined; domainId: string | undefined; fields: FieldIdentifier[] | undefined; nextToken?: string | undefined; } export interface GetCaseResponse { fields: FieldValue[] | undefined; templateId: string | undefined; nextToken?: string | undefined; tags?: Record | undefined; } export interface GetCaseAuditEventsRequest { caseId: string | undefined; domainId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export type AuditEventFieldValueUnion = | AuditEventFieldValueUnion.BooleanValueMember | AuditEventFieldValueUnion.DoubleValueMember | AuditEventFieldValueUnion.EmptyValueMember | AuditEventFieldValueUnion.StringValueMember | AuditEventFieldValueUnion.UserArnValueMember | AuditEventFieldValueUnion.$UnknownMember; export declare namespace AuditEventFieldValueUnion { interface StringValueMember { stringValue: string; doubleValue?: never; booleanValue?: never; emptyValue?: never; userArnValue?: never; $unknown?: never; } interface DoubleValueMember { stringValue?: never; doubleValue: number; booleanValue?: never; emptyValue?: never; userArnValue?: never; $unknown?: never; } interface BooleanValueMember { stringValue?: never; doubleValue?: never; booleanValue: boolean; emptyValue?: never; userArnValue?: never; $unknown?: never; } interface EmptyValueMember { stringValue?: never; doubleValue?: never; booleanValue?: never; emptyValue: EmptyFieldValue; userArnValue?: never; $unknown?: never; } interface UserArnValueMember { stringValue?: never; doubleValue?: never; booleanValue?: never; emptyValue?: never; userArnValue: string; $unknown?: never; } interface $UnknownMember { stringValue?: never; doubleValue?: never; booleanValue?: never; emptyValue?: never; userArnValue?: never; $unknown: [string, any]; } interface Visitor { stringValue: (value: string) => T; doubleValue: (value: number) => T; booleanValue: (value: boolean) => T; emptyValue: (value: EmptyFieldValue) => T; userArnValue: (value: string) => T; _: (name: string, value: any) => T; } } export interface AuditEventField { eventFieldId: string | undefined; oldValue?: AuditEventFieldValueUnion | undefined; newValue: AuditEventFieldValueUnion | undefined; } export interface AuditEventPerformedBy { user?: UserUnion | undefined; iamPrincipalArn: string | undefined; } export interface AuditEvent { eventId: string | undefined; type: AuditEventType | undefined; relatedItemType?: RelatedItemType | undefined; performedTime: Date | undefined; fields: (AuditEventField | null)[] | undefined; performedBy?: AuditEventPerformedBy | undefined; } export interface GetCaseAuditEventsResponse { nextToken?: string | undefined; auditEvents: (AuditEvent | null)[] | undefined; } export interface ListCasesForContactRequest { domainId: string | undefined; contactArn: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export interface CaseSummary { caseId: string | undefined; templateId: string | undefined; } export interface ListCasesForContactResponse { cases: CaseSummary[] | undefined; nextToken?: string | undefined; } export interface CommentContent { body: string | undefined; contentType: CommentBodyTextType | undefined; } export interface ConnectCaseInputContent { caseId: string | undefined; } export interface Contact { contactArn: string | undefined; } export interface CustomInputContent { fields: FieldValue[] | undefined; } export interface FileContent { fileArn: string | undefined; } export interface SlaInputConfiguration { name: string | undefined; type: SlaType | undefined; fieldId?: string | undefined; targetFieldValues?: FieldValueUnion[] | undefined; targetSlaMinutes: number | undefined; } export type SlaInputContent = | SlaInputContent.SlaInputConfigurationMember | SlaInputContent.$UnknownMember; export declare namespace SlaInputContent { interface SlaInputConfigurationMember { slaInputConfiguration: SlaInputConfiguration; $unknown?: never; } interface $UnknownMember { slaInputConfiguration?: never; $unknown: [string, any]; } interface Visitor { slaInputConfiguration: (value: SlaInputConfiguration) => T; _: (name: string, value: any) => T; } } export type RelatedItemInputContent = | RelatedItemInputContent.CommentMember | RelatedItemInputContent.ConnectCaseMember | RelatedItemInputContent.ContactMember | RelatedItemInputContent.CustomMember | RelatedItemInputContent.FileMember | RelatedItemInputContent.SlaMember | RelatedItemInputContent.$UnknownMember; export declare namespace RelatedItemInputContent { interface ContactMember { contact: Contact; comment?: never; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface CommentMember { contact?: never; comment: CommentContent; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface FileMember { contact?: never; comment?: never; file: FileContent; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface SlaMember { contact?: never; comment?: never; file?: never; sla: SlaInputContent; connectCase?: never; custom?: never; $unknown?: never; } interface ConnectCaseMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase: ConnectCaseInputContent; custom?: never; $unknown?: never; } interface CustomMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase?: never; custom: CustomInputContent; $unknown?: never; } interface $UnknownMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown: [string, any]; } interface Visitor { contact: (value: Contact) => T; comment: (value: CommentContent) => T; file: (value: FileContent) => T; sla: (value: SlaInputContent) => T; connectCase: (value: ConnectCaseInputContent) => T; custom: (value: CustomInputContent) => T; _: (name: string, value: any) => T; } } export interface CreateRelatedItemRequest { domainId: string | undefined; caseId: string | undefined; type: RelatedItemType | undefined; content: RelatedItemInputContent | undefined; performedBy?: UserUnion | undefined; } export interface CreateRelatedItemResponse { relatedItemId: string | undefined; relatedItemArn: string | undefined; } export interface DeleteRelatedItemRequest { domainId: string | undefined; caseId: string | undefined; relatedItemId: string | undefined; } export interface DeleteRelatedItemResponse {} export interface CommentFilter {} export interface ConnectCaseFilter { caseId?: string | undefined; } export interface ContactFilter { channel?: string[] | undefined; contactArn?: string | undefined; } export type FieldFilter = | FieldFilter.ContainsMember | FieldFilter.EqualToMember | FieldFilter.GreaterThanMember | FieldFilter.GreaterThanOrEqualToMember | FieldFilter.LessThanMember | FieldFilter.LessThanOrEqualToMember | FieldFilter.$UnknownMember; export declare namespace FieldFilter { interface EqualToMember { equalTo: FieldValue; contains?: never; greaterThan?: never; greaterThanOrEqualTo?: never; lessThan?: never; lessThanOrEqualTo?: never; $unknown?: never; } interface ContainsMember { equalTo?: never; contains: FieldValue; greaterThan?: never; greaterThanOrEqualTo?: never; lessThan?: never; lessThanOrEqualTo?: never; $unknown?: never; } interface GreaterThanMember { equalTo?: never; contains?: never; greaterThan: FieldValue; greaterThanOrEqualTo?: never; lessThan?: never; lessThanOrEqualTo?: never; $unknown?: never; } interface GreaterThanOrEqualToMember { equalTo?: never; contains?: never; greaterThan?: never; greaterThanOrEqualTo: FieldValue; lessThan?: never; lessThanOrEqualTo?: never; $unknown?: never; } interface LessThanMember { equalTo?: never; contains?: never; greaterThan?: never; greaterThanOrEqualTo?: never; lessThan: FieldValue; lessThanOrEqualTo?: never; $unknown?: never; } interface LessThanOrEqualToMember { equalTo?: never; contains?: never; greaterThan?: never; greaterThanOrEqualTo?: never; lessThan?: never; lessThanOrEqualTo: FieldValue; $unknown?: never; } interface $UnknownMember { equalTo?: never; contains?: never; greaterThan?: never; greaterThanOrEqualTo?: never; lessThan?: never; lessThanOrEqualTo?: never; $unknown: [string, any]; } interface Visitor { equalTo: (value: FieldValue) => T; contains: (value: FieldValue) => T; greaterThan: (value: FieldValue) => T; greaterThanOrEqualTo: (value: FieldValue) => T; lessThan: (value: FieldValue) => T; lessThanOrEqualTo: (value: FieldValue) => T; _: (name: string, value: any) => T; } } export interface FileFilter { fileArn?: string | undefined; } export interface SlaFilter { name?: string | undefined; status?: SlaStatus | undefined; } export interface ConnectCaseContent { caseId: string | undefined; } export interface ContactContent { contactArn: string | undefined; channel: string | undefined; connectedToSystemTime: Date | undefined; } export interface CustomContent { fields: FieldValue[] | undefined; } export interface SlaConfiguration { name: string | undefined; type: SlaType | undefined; status: SlaStatus | undefined; fieldId?: string | undefined; targetFieldValues?: FieldValueUnion[] | undefined; targetTime: Date | undefined; completionTime?: Date | undefined; } export interface SlaContent { slaConfiguration: SlaConfiguration | undefined; } export type RelatedItemContent = | RelatedItemContent.CommentMember | RelatedItemContent.ConnectCaseMember | RelatedItemContent.ContactMember | RelatedItemContent.CustomMember | RelatedItemContent.FileMember | RelatedItemContent.SlaMember | RelatedItemContent.$UnknownMember; export declare namespace RelatedItemContent { interface ContactMember { contact: ContactContent; comment?: never; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface CommentMember { contact?: never; comment: CommentContent; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface FileMember { contact?: never; comment?: never; file: FileContent; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface SlaMember { contact?: never; comment?: never; file?: never; sla: SlaContent; connectCase?: never; custom?: never; $unknown?: never; } interface ConnectCaseMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase: ConnectCaseContent; custom?: never; $unknown?: never; } interface CustomMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase?: never; custom: CustomContent; $unknown?: never; } interface $UnknownMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown: [string, any]; } interface Visitor { contact: (value: ContactContent) => T; comment: (value: CommentContent) => T; file: (value: FileContent) => T; sla: (value: SlaContent) => T; connectCase: (value: ConnectCaseContent) => T; custom: (value: CustomContent) => T; _: (name: string, value: any) => T; } } export interface SearchRelatedItemsResponseItem { relatedItemId: string | undefined; type: RelatedItemType | undefined; associationTime: Date | undefined; content: RelatedItemContent | undefined; tags?: Record | undefined; performedBy?: UserUnion | undefined; } export interface SearchRelatedItemsResponse { nextToken?: string | undefined; relatedItems: (SearchRelatedItemsResponseItem | null)[] | undefined; } export interface CommentUpdateContent { body: string | undefined; contentType: CommentBodyTextType | undefined; } export interface CustomUpdateContent { fields: FieldValue[] | undefined; } export type RelatedItemUpdateContent = | RelatedItemUpdateContent.CommentMember | RelatedItemUpdateContent.CustomMember | RelatedItemUpdateContent.$UnknownMember; export declare namespace RelatedItemUpdateContent { interface CommentMember { comment: CommentUpdateContent; custom?: never; $unknown?: never; } interface CustomMember { comment?: never; custom: CustomUpdateContent; $unknown?: never; } interface $UnknownMember { comment?: never; custom?: never; $unknown: [string, any]; } interface Visitor { comment: (value: CommentUpdateContent) => T; custom: (value: CustomUpdateContent) => T; _: (name: string, value: any) => T; } } export interface UpdateRelatedItemRequest { domainId: string | undefined; caseId: string | undefined; relatedItemId: string | undefined; content: RelatedItemUpdateContent | undefined; performedBy?: UserUnion | undefined; } export interface UpdateRelatedItemResponse { relatedItemId: string | undefined; relatedItemArn: string | undefined; type: RelatedItemType | undefined; content: RelatedItemContent | undefined; associationTime: Date | undefined; tags?: Record | undefined; lastUpdatedUser?: UserUnion | undefined; createdBy?: UserUnion | undefined; } export interface TagValue { key?: string | undefined; value?: string | undefined; } export type TagFilter = TagFilter.EqualToMember | TagFilter.$UnknownMember; export declare namespace TagFilter { interface EqualToMember { equalTo: TagValue; $unknown?: never; } interface $UnknownMember { equalTo?: never; $unknown: [string, any]; } interface Visitor { equalTo: (value: TagValue) => T; _: (name: string, value: any) => T; } } export interface Sort { fieldId: string | undefined; sortOrder: Order | undefined; } export interface SearchCasesResponseItem { caseId: string | undefined; templateId: string | undefined; fields: FieldValue[] | undefined; tags?: Record | undefined; } export interface SearchCasesResponse { nextToken?: string | undefined; cases: (SearchCasesResponseItem | null)[] | undefined; totalCount?: number | undefined; } export interface UpdateCaseRequest { domainId: string | undefined; caseId: string | undefined; fields: FieldValue[] | undefined; performedBy?: UserUnion | undefined; } export interface UpdateCaseResponse {} export interface CaseRuleIdentifier { id: string | undefined; } export interface BatchGetCaseRuleRequest { domainId: string | undefined; caseRules: CaseRuleIdentifier[] | undefined; } export interface ParentChildFieldOptionsMapping { parentFieldOptionValue: string | undefined; childFieldOptionValues: string[] | undefined; } export interface FieldOptionsCaseRule { parentFieldId?: string | undefined; childFieldId?: string | undefined; parentChildFieldOptionsMappings: ParentChildFieldOptionsMapping[] | undefined; } export type OperandOne = OperandOne.FieldIdMember | OperandOne.$UnknownMember; export declare namespace OperandOne { interface FieldIdMember { fieldId: string; $unknown?: never; } interface $UnknownMember { fieldId?: never; $unknown: [string, any]; } interface Visitor { fieldId: (value: string) => T; _: (name: string, value: any) => T; } } export interface EmptyOperandValue {} export type OperandTwo = | OperandTwo.BooleanValueMember | OperandTwo.DoubleValueMember | OperandTwo.EmptyValueMember | OperandTwo.StringValueMember | OperandTwo.$UnknownMember; export declare namespace OperandTwo { interface StringValueMember { stringValue: string; booleanValue?: never; doubleValue?: never; emptyValue?: never; $unknown?: never; } interface BooleanValueMember { stringValue?: never; booleanValue: boolean; doubleValue?: never; emptyValue?: never; $unknown?: never; } interface DoubleValueMember { stringValue?: never; booleanValue?: never; doubleValue: number; emptyValue?: never; $unknown?: never; } interface EmptyValueMember { stringValue?: never; booleanValue?: never; doubleValue?: never; emptyValue: EmptyOperandValue; $unknown?: never; } interface $UnknownMember { stringValue?: never; booleanValue?: never; doubleValue?: never; emptyValue?: never; $unknown: [string, any]; } interface Visitor { stringValue: (value: string) => T; booleanValue: (value: boolean) => T; doubleValue: (value: number) => T; emptyValue: (value: EmptyOperandValue) => T; _: (name: string, value: any) => T; } } export interface BooleanOperands { operandOne: OperandOne | undefined; operandTwo: OperandTwo | undefined; result: boolean | undefined; } export interface CaseRuleError { id: string | undefined; errorCode: string | undefined; message?: string | undefined; } export interface CreateCaseRuleResponse { caseRuleId: string | undefined; caseRuleArn: string | undefined; } export interface DeleteCaseRuleRequest { domainId: string | undefined; caseRuleId: string | undefined; } export interface DeleteCaseRuleResponse {} export interface ListCaseRulesRequest { domainId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export interface CaseRuleSummary { caseRuleId: string | undefined; name: string | undefined; caseRuleArn: string | undefined; ruleType: RuleType | undefined; description?: string | undefined; } export interface ListCaseRulesResponse { caseRules: CaseRuleSummary[] | undefined; nextToken?: string | undefined; } export interface UpdateCaseRuleResponse {} export interface CreateDomainRequest { name: string | undefined; } export interface CreateDomainResponse { domainId: string | undefined; domainArn: string | undefined; domainStatus: DomainStatus | undefined; } export interface DeleteDomainRequest { domainId: string | undefined; } export interface DeleteDomainResponse {} export interface GetCaseEventConfigurationRequest { domainId: string | undefined; } export interface CaseEventIncludedData { fields: FieldIdentifier[] | undefined; } export interface RelatedItemEventIncludedData { includeContent: boolean | undefined; } export interface EventIncludedData { caseData?: CaseEventIncludedData | undefined; relatedItemData?: RelatedItemEventIncludedData | undefined; } export interface EventBridgeConfiguration { enabled: boolean | undefined; includedData?: EventIncludedData | undefined; } export interface GetCaseEventConfigurationResponse { eventBridge: EventBridgeConfiguration | undefined; } export interface GetDomainRequest { domainId: string | undefined; } export interface GetDomainResponse { domainId: string | undefined; domainArn: string | undefined; name: string | undefined; createdTime: Date | undefined; domainStatus: DomainStatus | undefined; tags?: Record | undefined; } export interface ListDomainsRequest { maxResults?: number | undefined; nextToken?: string | undefined; } export interface DomainSummary { domainId: string | undefined; domainArn: string | undefined; name: string | undefined; } export interface ListDomainsResponse { domains: DomainSummary[] | undefined; nextToken?: string | undefined; } export interface PutCaseEventConfigurationRequest { domainId: string | undefined; eventBridge: EventBridgeConfiguration | undefined; } export interface PutCaseEventConfigurationResponse {} export interface SearchAllRelatedItemsSort { sortProperty: SearchAllRelatedItemsSortProperty | undefined; sortOrder: Order | undefined; } export interface SearchAllRelatedItemsResponseItem { relatedItemId: string | undefined; caseId: string | undefined; type: RelatedItemType | undefined; associationTime: Date | undefined; content: RelatedItemContent | undefined; performedBy?: UserUnion | undefined; tags?: Record | undefined; } export interface SearchAllRelatedItemsResponse { nextToken?: string | undefined; relatedItems: (SearchAllRelatedItemsResponseItem | null)[] | undefined; } export interface BatchGetFieldRequest { domainId: string | undefined; fields: FieldIdentifier[] | undefined; } export interface FieldError { id: string | undefined; errorCode: string | undefined; message?: string | undefined; } export interface TextAttributes { isMultiline: boolean | undefined; } export type FieldAttributes = FieldAttributes.TextMember | FieldAttributes.$UnknownMember; export declare namespace FieldAttributes { interface TextMember { text: TextAttributes; $unknown?: never; } interface $UnknownMember { text?: never; $unknown: [string, any]; } interface Visitor { text: (value: TextAttributes) => T; _: (name: string, value: any) => T; } } export interface GetFieldResponse { fieldId: string | undefined; name: string | undefined; fieldArn: string | undefined; description?: string | undefined; type: FieldType | undefined; namespace: FieldNamespace | undefined; tags?: Record | undefined; deleted?: boolean | undefined; createdTime?: Date | undefined; lastModifiedTime?: Date | undefined; attributes?: FieldAttributes | undefined; } export interface BatchGetFieldResponse { fields: GetFieldResponse[] | undefined; errors: FieldError[] | undefined; } export interface FieldOption { name: string | undefined; value: string | undefined; active: boolean | undefined; } export interface BatchPutFieldOptionsRequest { domainId: string | undefined; fieldId: string | undefined; options: FieldOption[] | undefined; } export interface FieldOptionError { message: string | undefined; errorCode: string | undefined; value: string | undefined; } export interface BatchPutFieldOptionsResponse { errors?: FieldOptionError[] | undefined; } export interface CreateFieldRequest { domainId: string | undefined; name: string | undefined; type: FieldType | undefined; description?: string | undefined; attributes?: FieldAttributes | undefined; } export interface CreateFieldResponse { fieldId: string | undefined; fieldArn: string | undefined; } export interface DeleteFieldRequest { domainId: string | undefined; fieldId: string | undefined; } export interface DeleteFieldResponse {} export interface ListFieldOptionsRequest { domainId: string | undefined; fieldId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; values?: string[] | undefined; } export interface ListFieldOptionsResponse { options: FieldOption[] | undefined; nextToken?: string | undefined; } export interface ListFieldsRequest { domainId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export interface FieldSummary { fieldId: string | undefined; fieldArn: string | undefined; name: string | undefined; type: FieldType | undefined; namespace: FieldNamespace | undefined; attributes?: FieldAttributes | undefined; } export interface ListFieldsResponse { fields: FieldSummary[] | undefined; nextToken?: string | undefined; } export interface UpdateFieldRequest { domainId: string | undefined; fieldId: string | undefined; name?: string | undefined; description?: string | undefined; attributes?: FieldAttributes | undefined; } export interface UpdateFieldResponse {} export interface FieldItem { id: string | undefined; } export interface FieldGroup { name?: string | undefined; fields: FieldItem[] | undefined; } export type Section = Section.FieldGroupMember | Section.$UnknownMember; export declare namespace Section { interface FieldGroupMember { fieldGroup: FieldGroup; $unknown?: never; } interface $UnknownMember { fieldGroup?: never; $unknown: [string, any]; } interface Visitor { fieldGroup: (value: FieldGroup) => T; _: (name: string, value: any) => T; } } export interface LayoutSections { sections?: Section[] | undefined; } export interface BasicLayout { topPanel?: LayoutSections | undefined; moreInfo?: LayoutSections | undefined; } export type LayoutContent = LayoutContent.BasicMember | LayoutContent.$UnknownMember; export declare namespace LayoutContent { interface BasicMember { basic: BasicLayout; $unknown?: never; } interface $UnknownMember { basic?: never; $unknown: [string, any]; } interface Visitor { basic: (value: BasicLayout) => T; _: (name: string, value: any) => T; } } export interface CreateLayoutRequest { domainId: string | undefined; name: string | undefined; content: LayoutContent | undefined; } export interface CreateLayoutResponse { layoutId: string | undefined; layoutArn: string | undefined; } export interface DeleteLayoutRequest { domainId: string | undefined; layoutId: string | undefined; } export interface DeleteLayoutResponse {} export interface GetLayoutRequest { domainId: string | undefined; layoutId: string | undefined; } export interface GetLayoutResponse { layoutId: string | undefined; layoutArn: string | undefined; name: string | undefined; content: LayoutContent | undefined; tags?: Record | undefined; deleted?: boolean | undefined; createdTime?: Date | undefined; lastModifiedTime?: Date | undefined; } export interface ListLayoutsRequest { domainId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export interface LayoutSummary { layoutId: string | undefined; layoutArn: string | undefined; name: string | undefined; } export interface ListLayoutsResponse { layouts: LayoutSummary[] | undefined; nextToken?: string | undefined; } export interface UpdateLayoutRequest { domainId: string | undefined; layoutId: string | undefined; name?: string | undefined; content?: LayoutContent | undefined; } export interface UpdateLayoutResponse {} export interface ListTagsForResourceRequest { arn: string | undefined; } export interface ListTagsForResourceResponse { tags?: Record | undefined; } export interface TagResourceRequest { arn: string | undefined; tags: Record | undefined; } export interface LayoutConfiguration { defaultLayout?: string | undefined; } export interface RequiredField { fieldId: string | undefined; } export interface TemplateRule { caseRuleId: string | undefined; fieldId?: string | undefined; } export interface TagPropagationConfiguration { resourceType: TagPropagationResourceType | undefined; tagMap: Record | undefined; } export interface CreateTemplateRequest { domainId: string | undefined; name: string | undefined; description?: string | undefined; layoutConfiguration?: LayoutConfiguration | undefined; requiredFields?: RequiredField[] | undefined; status?: TemplateStatus | undefined; rules?: TemplateRule[] | undefined; tagPropagationConfigurations?: TagPropagationConfiguration[] | undefined; } export interface CreateTemplateResponse { templateId: string | undefined; templateArn: string | undefined; } export interface DeleteTemplateRequest { domainId: string | undefined; templateId: string | undefined; } export interface DeleteTemplateResponse {} export interface GetTemplateRequest { domainId: string | undefined; templateId: string | undefined; } export interface GetTemplateResponse { templateId: string | undefined; templateArn: string | undefined; name: string | undefined; description?: string | undefined; layoutConfiguration?: LayoutConfiguration | undefined; requiredFields?: RequiredField[] | undefined; tags?: Record | undefined; status: TemplateStatus | undefined; deleted?: boolean | undefined; createdTime?: Date | undefined; lastModifiedTime?: Date | undefined; rules?: TemplateRule[] | undefined; tagPropagationConfigurations?: TagPropagationConfiguration[] | undefined; } export interface ListTemplatesRequest { domainId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; status?: TemplateStatus[] | undefined; } export interface TemplateSummary { templateId: string | undefined; templateArn: string | undefined; name: string | undefined; status: TemplateStatus | undefined; tagPropagationConfigurations?: TagPropagationConfiguration[] | undefined; } export interface ListTemplatesResponse { templates: TemplateSummary[] | undefined; nextToken?: string | undefined; } export interface UpdateTemplateRequest { domainId: string | undefined; templateId: string | undefined; name?: string | undefined; description?: string | undefined; layoutConfiguration?: LayoutConfiguration | undefined; requiredFields?: RequiredField[] | undefined; status?: TemplateStatus | undefined; rules?: TemplateRule[] | undefined; tagPropagationConfigurations?: TagPropagationConfiguration[] | undefined; } export interface UpdateTemplateResponse {} export interface UntagResourceRequest { arn: string | undefined; tagKeys: string[] | undefined; } export type CaseFilter = | CaseFilter.AndAllMember | CaseFilter.FieldMember | CaseFilter.NotMember | CaseFilter.OrAllMember | CaseFilter.TagMember | CaseFilter.$UnknownMember; export declare namespace CaseFilter { interface FieldMember { field: FieldFilter; not?: never; tag?: never; andAll?: never; orAll?: never; $unknown?: never; } interface NotMember { field?: never; not: CaseFilter; tag?: never; andAll?: never; orAll?: never; $unknown?: never; } interface TagMember { field?: never; not?: never; tag: TagFilter; andAll?: never; orAll?: never; $unknown?: never; } interface AndAllMember { field?: never; not?: never; tag?: never; andAll: CaseFilter[]; orAll?: never; $unknown?: never; } interface OrAllMember { field?: never; not?: never; tag?: never; andAll?: never; orAll: CaseFilter[]; $unknown?: never; } interface $UnknownMember { field?: never; not?: never; tag?: never; andAll?: never; orAll?: never; $unknown: [string, any]; } interface Visitor { field: (value: FieldFilter) => T; not: (value: CaseFilter) => T; tag: (value: TagFilter) => T; andAll: (value: CaseFilter[]) => T; orAll: (value: CaseFilter[]) => T; _: (name: string, value: any) => T; } } export type CustomFieldsFilter = | CustomFieldsFilter.AndAllMember | CustomFieldsFilter.FieldMember | CustomFieldsFilter.NotMember | CustomFieldsFilter.OrAllMember | CustomFieldsFilter.$UnknownMember; export declare namespace CustomFieldsFilter { interface FieldMember { field: FieldFilter; not?: never; andAll?: never; orAll?: never; $unknown?: never; } interface NotMember { field?: never; not: CustomFieldsFilter; andAll?: never; orAll?: never; $unknown?: never; } interface AndAllMember { field?: never; not?: never; andAll: CustomFieldsFilter[]; orAll?: never; $unknown?: never; } interface OrAllMember { field?: never; not?: never; andAll?: never; orAll: CustomFieldsFilter[]; $unknown?: never; } interface $UnknownMember { field?: never; not?: never; andAll?: never; orAll?: never; $unknown: [string, any]; } interface Visitor { field: (value: FieldFilter) => T; not: (value: CustomFieldsFilter) => T; andAll: (value: CustomFieldsFilter[]) => T; orAll: (value: CustomFieldsFilter[]) => T; _: (name: string, value: any) => T; } } export type BooleanCondition = | BooleanCondition.AndAllMember | BooleanCondition.EqualToMember | BooleanCondition.NotEqualToMember | BooleanCondition.OrAllMember | BooleanCondition.$UnknownMember; export declare namespace BooleanCondition { interface EqualToMember { equalTo: BooleanOperands; notEqualTo?: never; andAll?: never; orAll?: never; $unknown?: never; } interface NotEqualToMember { equalTo?: never; notEqualTo: BooleanOperands; andAll?: never; orAll?: never; $unknown?: never; } interface AndAllMember { equalTo?: never; notEqualTo?: never; andAll: CompoundCondition; orAll?: never; $unknown?: never; } interface OrAllMember { equalTo?: never; notEqualTo?: never; andAll?: never; orAll: CompoundCondition; $unknown?: never; } interface $UnknownMember { equalTo?: never; notEqualTo?: never; andAll?: never; orAll?: never; $unknown: [string, any]; } interface Visitor { equalTo: (value: BooleanOperands) => T; notEqualTo: (value: BooleanOperands) => T; andAll: (value: CompoundCondition) => T; orAll: (value: CompoundCondition) => T; _: (name: string, value: any) => T; } } export interface CompoundCondition { conditions: BooleanCondition[] | undefined; } export interface CustomFilter { fields?: CustomFieldsFilter | undefined; } export interface HiddenCaseRule { defaultValue: boolean | undefined; conditions: BooleanCondition[] | undefined; } export interface RequiredCaseRule { defaultValue: boolean | undefined; conditions: BooleanCondition[] | undefined; } export interface SearchCasesRequest { domainId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; searchTerm?: string | undefined; filter?: CaseFilter | undefined; sorts?: Sort[] | undefined; fields?: FieldIdentifier[] | undefined; } export type RelatedItemTypeFilter = | RelatedItemTypeFilter.CommentMember | RelatedItemTypeFilter.ConnectCaseMember | RelatedItemTypeFilter.ContactMember | RelatedItemTypeFilter.CustomMember | RelatedItemTypeFilter.FileMember | RelatedItemTypeFilter.SlaMember | RelatedItemTypeFilter.$UnknownMember; export declare namespace RelatedItemTypeFilter { interface ContactMember { contact: ContactFilter; comment?: never; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface CommentMember { contact?: never; comment: CommentFilter; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface FileMember { contact?: never; comment?: never; file: FileFilter; sla?: never; connectCase?: never; custom?: never; $unknown?: never; } interface SlaMember { contact?: never; comment?: never; file?: never; sla: SlaFilter; connectCase?: never; custom?: never; $unknown?: never; } interface ConnectCaseMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase: ConnectCaseFilter; custom?: never; $unknown?: never; } interface CustomMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase?: never; custom: CustomFilter; $unknown?: never; } interface $UnknownMember { contact?: never; comment?: never; file?: never; sla?: never; connectCase?: never; custom?: never; $unknown: [string, any]; } interface Visitor { contact: (value: ContactFilter) => T; comment: (value: CommentFilter) => T; file: (value: FileFilter) => T; sla: (value: SlaFilter) => T; connectCase: (value: ConnectCaseFilter) => T; custom: (value: CustomFilter) => T; _: (name: string, value: any) => T; } } export interface SearchAllRelatedItemsRequest { domainId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; filters?: RelatedItemTypeFilter[] | undefined; sorts?: SearchAllRelatedItemsSort[] | undefined; } export interface SearchRelatedItemsRequest { domainId: string | undefined; caseId: string | undefined; maxResults?: number | undefined; nextToken?: string | undefined; filters?: RelatedItemTypeFilter[] | undefined; } export type CaseRuleDetails = | CaseRuleDetails.FieldOptionsMember | CaseRuleDetails.HiddenMember | CaseRuleDetails.RequiredMember | CaseRuleDetails.$UnknownMember; export declare namespace CaseRuleDetails { interface RequiredMember { required: RequiredCaseRule; fieldOptions?: never; hidden?: never; $unknown?: never; } interface FieldOptionsMember { required?: never; fieldOptions: FieldOptionsCaseRule; hidden?: never; $unknown?: never; } interface HiddenMember { required?: never; fieldOptions?: never; hidden: HiddenCaseRule; $unknown?: never; } interface $UnknownMember { required?: never; fieldOptions?: never; hidden?: never; $unknown: [string, any]; } interface Visitor { required: (value: RequiredCaseRule) => T; fieldOptions: (value: FieldOptionsCaseRule) => T; hidden: (value: HiddenCaseRule) => T; _: (name: string, value: any) => T; } } export interface CreateCaseRuleRequest { domainId: string | undefined; name: string | undefined; description?: string | undefined; rule: CaseRuleDetails | undefined; } export interface GetCaseRuleResponse { caseRuleId: string | undefined; name: string | undefined; caseRuleArn: string | undefined; rule: CaseRuleDetails | undefined; description?: string | undefined; deleted?: boolean | undefined; createdTime?: Date | undefined; lastModifiedTime?: Date | undefined; tags?: Record | undefined; } export interface UpdateCaseRuleRequest { domainId: string | undefined; caseRuleId: string | undefined; name?: string | undefined; description?: string | undefined; rule?: CaseRuleDetails | undefined; } export interface BatchGetCaseRuleResponse { caseRules: GetCaseRuleResponse[] | undefined; errors: CaseRuleError[] | undefined; unprocessedCaseRules?: string[] | undefined; }