import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AddProfileKeyCommand , AddProfileKeyCommandInput , AddProfileKeyCommandOutput , } from "./commands/AddProfileKeyCommand" ; import { CreateDomainCommand , CreateDomainCommandInput , CreateDomainCommandOutput , } from "./commands/CreateDomainCommand" ; import { CreateProfileCommand , CreateProfileCommandInput , CreateProfileCommandOutput , } from "./commands/CreateProfileCommand" ; import { DeleteDomainCommand , DeleteDomainCommandInput , DeleteDomainCommandOutput , } from "./commands/DeleteDomainCommand" ; import { DeleteIntegrationCommand , DeleteIntegrationCommandInput , DeleteIntegrationCommandOutput , } from "./commands/DeleteIntegrationCommand" ; import { DeleteProfileCommand , DeleteProfileCommandInput , DeleteProfileCommandOutput , } from "./commands/DeleteProfileCommand" ; import { DeleteProfileKeyCommand , DeleteProfileKeyCommandInput , DeleteProfileKeyCommandOutput , } from "./commands/DeleteProfileKeyCommand" ; import { DeleteProfileObjectCommand , DeleteProfileObjectCommandInput , DeleteProfileObjectCommandOutput , } from "./commands/DeleteProfileObjectCommand" ; import { DeleteProfileObjectTypeCommand , DeleteProfileObjectTypeCommandInput , DeleteProfileObjectTypeCommandOutput , } from "./commands/DeleteProfileObjectTypeCommand" ; import { GetAutoMergingPreviewCommand , GetAutoMergingPreviewCommandInput , GetAutoMergingPreviewCommandOutput , } from "./commands/GetAutoMergingPreviewCommand" ; import { GetDomainCommand , GetDomainCommandInput , GetDomainCommandOutput } from "./commands/GetDomainCommand" ; import { GetIdentityResolutionJobCommand , GetIdentityResolutionJobCommandInput , GetIdentityResolutionJobCommandOutput , } from "./commands/GetIdentityResolutionJobCommand" ; import { GetIntegrationCommand , GetIntegrationCommandInput , GetIntegrationCommandOutput , } from "./commands/GetIntegrationCommand" ; import { GetMatchesCommand , GetMatchesCommandInput , GetMatchesCommandOutput } from "./commands/GetMatchesCommand" ; import { GetProfileObjectTypeCommand , GetProfileObjectTypeCommandInput , GetProfileObjectTypeCommandOutput , } from "./commands/GetProfileObjectTypeCommand" ; import { GetProfileObjectTypeTemplateCommand , GetProfileObjectTypeTemplateCommandInput , GetProfileObjectTypeTemplateCommandOutput , } from "./commands/GetProfileObjectTypeTemplateCommand" ; import { ListAccountIntegrationsCommand , ListAccountIntegrationsCommandInput , ListAccountIntegrationsCommandOutput , } from "./commands/ListAccountIntegrationsCommand" ; import { ListDomainsCommand , ListDomainsCommandInput , ListDomainsCommandOutput } from "./commands/ListDomainsCommand" ; import { ListIdentityResolutionJobsCommand , ListIdentityResolutionJobsCommandInput , ListIdentityResolutionJobsCommandOutput , } from "./commands/ListIdentityResolutionJobsCommand" ; import { ListIntegrationsCommand , ListIntegrationsCommandInput , ListIntegrationsCommandOutput , } from "./commands/ListIntegrationsCommand" ; import { ListProfileObjectsCommand , ListProfileObjectsCommandInput , ListProfileObjectsCommandOutput , } from "./commands/ListProfileObjectsCommand" ; import { ListProfileObjectTypesCommand , ListProfileObjectTypesCommandInput , ListProfileObjectTypesCommandOutput , } from "./commands/ListProfileObjectTypesCommand" ; import { ListProfileObjectTypeTemplatesCommand , ListProfileObjectTypeTemplatesCommandInput , ListProfileObjectTypeTemplatesCommandOutput , } from "./commands/ListProfileObjectTypeTemplatesCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { MergeProfilesCommand , MergeProfilesCommandInput , MergeProfilesCommandOutput , } from "./commands/MergeProfilesCommand" ; import { PutIntegrationCommand , PutIntegrationCommandInput , PutIntegrationCommandOutput , } from "./commands/PutIntegrationCommand" ; import { PutProfileObjectCommand , PutProfileObjectCommandInput , PutProfileObjectCommandOutput , } from "./commands/PutProfileObjectCommand" ; import { PutProfileObjectTypeCommand , PutProfileObjectTypeCommandInput , PutProfileObjectTypeCommandOutput , } from "./commands/PutProfileObjectTypeCommand" ; import { SearchProfilesCommand , SearchProfilesCommandInput , SearchProfilesCommandOutput , } from "./commands/SearchProfilesCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateDomainCommand , UpdateDomainCommandInput , UpdateDomainCommandOutput , } from "./commands/UpdateDomainCommand" ; import { UpdateProfileCommand , UpdateProfileCommandInput , UpdateProfileCommandOutput , } from "./commands/UpdateProfileCommand" ; import { CustomerProfilesClient } from "./CustomerProfilesClient" ; /**
 * <fullname>Amazon Connect Customer Profiles</fullname>
 *          <p>Welcome to the Amazon Connect Customer Profiles API Reference. This guide provides information
 *          about the Amazon Connect Customer Profiles API, including supported operations, data types,
 *          parameters, and schemas.</p>
 *          <p>Amazon Connect Customer Profiles is a unified customer profile for your contact center that has
 *          pre-built connectors powered by AppFlow that make it easy to combine customer information
 *          from third party applications, such as Salesforce (CRM), ServiceNow (ITSM), and your
 *          enterprise resource planning (ERP), with contact history from your Amazon Connect contact
 *          center.</p>
 *          <p>If you're new to Amazon Connect , you might find it helpful to also review the <a href="https://docs.aws.amazon.com/connect/latest/adminguide/what-is-amazon-connect.html">Amazon Connect Administrator Guide</a>.</p>
 */ export class CustomerProfiles extends CustomerProfilesClient { /**
     * <p>Associates a new key value with a specific profile, such as a Contact Trace Record (CTR)
     *          ContactId.</p>
     *          <p>A profile object can have a single unique key and any number of additional keys that can
     *          be used to identify the profile that it belongs to.</p>
     */ public addProfileKey ( args , options ? ) ; public addProfileKey ( args , cb ) ; public addProfileKey ( args , options , cb ) ; public addProfileKey ( args , optionsOrCb ? , cb ? ) { const command = new AddProfileKeyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a domain, which is a container for all customer data, such as customer profile
     *          attributes, object types, profile keys, and encryption keys. You can create multiple
     *          domains, and each domain can have multiple third-party integrations.</p>
     *          <p>Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can
     *          be associated with one domain.</p>
     *          <p>Use this API or <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html">UpdateDomain</a> to
     *          enable <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">identity
     *             resolution</a>: set <code>Matching</code> to true. </p>
     *          <p>To prevent cross-service impersonation when you call this API, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html">Cross-service confused deputy prevention</a> for sample policies that you should
     *          apply. </p>
     */ public createDomain ( args , options ? ) ; public createDomain ( args , cb ) ; public createDomain ( args , options , cb ) ; public createDomain ( args , optionsOrCb ? , cb ? ) { const command = new CreateDomainCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a standard profile.</p>
     *          <p>A standard profile represents the following attributes for a customer profile in a
     *          domain.</p>
     */ public createProfile ( args , options ? ) ; public createProfile ( args , cb ) ; public createProfile ( args , options , cb ) ; public createProfile ( args , optionsOrCb ? , cb ? ) { const command = new CreateProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a specific domain and all of its customer data, such as customer profile
     *          attributes and their related objects.</p>
     */ public deleteDomain ( args , options ? ) ; public deleteDomain ( args , cb ) ; public deleteDomain ( args , options , cb ) ; public deleteDomain ( args , optionsOrCb ? , cb ? ) { const command = new DeleteDomainCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes an integration from a specific domain.</p>
     */ public deleteIntegration ( args , options ? ) ; public deleteIntegration ( args , cb ) ; public deleteIntegration ( args , options , cb ) ; public deleteIntegration ( args , optionsOrCb ? , cb ? ) { const command = new DeleteIntegrationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes the standard customer profile and all data pertaining to the profile.</p>
     */ public deleteProfile ( args , options ? ) ; public deleteProfile ( args , cb ) ; public deleteProfile ( args , options , cb ) ; public deleteProfile ( args , optionsOrCb ? , cb ? ) { const command = new DeleteProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes a searchable key from a customer profile.</p>
     */ public deleteProfileKey ( args , options ? ) ; public deleteProfileKey ( args , cb ) ; public deleteProfileKey ( args , options , cb ) ; public deleteProfileKey ( args , optionsOrCb ? , cb ? ) { const command = new DeleteProfileKeyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes an object associated with a profile of a given ProfileObjectType.</p>
     */ public deleteProfileObject ( args , options ? ) ; public deleteProfileObject ( args , cb ) ; public deleteProfileObject ( args , options , cb ) ; public deleteProfileObject ( args , optionsOrCb ? , cb ? ) { const command = new DeleteProfileObjectCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes a ProfileObjectType from a specific domain as well as removes all the
     *          ProfileObjects of that type. It also disables integrations from this specific
     *          ProfileObjectType. In addition, it scrubs all of the fields of the standard profile that
     *          were populated from this ProfileObjectType.</p>
     */ public deleteProfileObjectType ( args , options ? ) ; public deleteProfileObjectType ( args , cb ) ; public deleteProfileObjectType ( args , options , cb ) ; public deleteProfileObjectType ( args , optionsOrCb ? , cb ? ) { const command = new DeleteProfileObjectTypeCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Tests the auto-merging settings of your Identity Resolution Job without merging your data. It randomly
     *          selects a sample of matching groups from the existing matching results, and applies the
     *          automerging settings that you provided. You can then view the number of profiles in the
     *          sample, the number of matches, and the number of profiles identified to be merged. This
     *          enables you to evaluate the accuracy of the attributes in your matching list. </p>
     *          <p>You can't view which profiles are matched and would be merged.</p>
     *          <important>
     *
     *             <p>We strongly recommend you use this API to do a dry run of the automerging process
     *             before running the Identity Resolution Job. Include <b>at least</b> two matching
     *             attributes. If your matching list includes too few attributes (such as only
     *                <code>FirstName</code> or only <code>LastName</code>), there may be a large number of
     *             matches. This increases the chances of erroneous merges.</p>
     *          </important>
     */ public getAutoMergingPreview ( args , options ? ) ; public getAutoMergingPreview ( args , cb ) ; public getAutoMergingPreview ( args , options , cb ) ; public getAutoMergingPreview ( args , optionsOrCb ? , cb ? ) { const command = new GetAutoMergingPreviewCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns information about a specific domain.</p>
     */ public getDomain ( args , options ? ) ; public getDomain ( args , cb ) ; public getDomain ( args , options , cb ) ; public getDomain ( args , optionsOrCb ? , cb ? ) { const command = new GetDomainCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns information about an Identity Resolution Job in a specific domain. </p>
     *          <p>Identity Resolution Jobs are set up using the Amazon Connect admin console. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/use-identity-resolution.html">Use
     *             Identity Resolution to consolidate similar profiles</a>.</p>
     */ public getIdentityResolutionJob ( args , options ? ) ; public getIdentityResolutionJob ( args , cb ) ; public getIdentityResolutionJob ( args , options , cb ) ; public getIdentityResolutionJob ( args , optionsOrCb ? , cb ? ) { const command = new GetIdentityResolutionJobCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns an integration for a domain.</p>
     */ public getIntegration ( args , options ? ) ; public getIntegration ( args , cb ) ; public getIntegration ( args , options , cb ) ; public getIntegration ( args , optionsOrCb ? , cb ? ) { const command = new GetIntegrationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Before calling this API, use <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html">CreateDomain</a> or
     *             <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html">UpdateDomain</a> to
     *          enable identity resolution: set <code>Matching</code> to true.</p>
     *          <p>GetMatches returns potentially matching profiles, based on the results of the latest run
     *          of a machine learning process. </p>
     *          <important>
     *             <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
     * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
     * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
     *             <p>After the Identity Resolution Job completes, use the
     * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
     * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
     * S3.</p>
     *          </important>
     *
     *          <p>Amazon Connect uses the following profile attributes to identify matches:</p>
     *          <ul>
     *             <li>
     *                <p>PhoneNumber</p>
     *             </li>
     *             <li>
     *                <p>HomePhoneNumber</p>
     *             </li>
     *             <li>
     *                <p>BusinessPhoneNumber</p>
     *             </li>
     *             <li>
     *                <p>MobilePhoneNumber</p>
     *             </li>
     *             <li>
     *                <p>EmailAddress</p>
     *             </li>
     *             <li>
     *                <p>PersonalEmailAddress</p>
     *             </li>
     *             <li>
     *                <p>BusinessEmailAddress</p>
     *             </li>
     *             <li>
     *                <p>FullName</p>
     *             </li>
     *             <li>
     *                <p>BusinessName</p>
     *             </li>
     *          </ul>
     *          <p>For example, two or more profiles—with spelling mistakes such as <b>John Doe</b> and <b>Jhn Doe</b>, or different casing
     *          email addresses such as <b>JOHN_DOE@ANYCOMPANY.COM</b> and
     *             <b>johndoe@anycompany.com</b>, or different phone number
     *          formats such as <b>555-010-0000</b> and <b>+1-555-010-0000</b>—can be detected as belonging to the same customer <b>John Doe</b> and merged into a unified profile.</p>
     */ public getMatches ( args , options ? ) ; public getMatches ( args , cb ) ; public getMatches ( args , options , cb ) ; public getMatches ( args , optionsOrCb ? , cb ? ) { const command = new GetMatchesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the object types for a specific domain.</p>
     */ public getProfileObjectType ( args , options ? ) ; public getProfileObjectType ( args , cb ) ; public getProfileObjectType ( args , options , cb ) ; public getProfileObjectType ( args , optionsOrCb ? , cb ? ) { const command = new GetProfileObjectTypeCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the template information for a specific object type.</p>
     *          <p>A template is a predefined ProfileObjectType, such as “Salesforce-Account” or
     *          “Salesforce-Contact.” When a user sends a ProfileObject, using the PutProfileObject API,
     *          with an ObjectTypeName that matches one of the TemplateIds, it uses the mappings from the
     *          template.</p>
     */ public getProfileObjectTypeTemplate ( args , options ? ) ; public getProfileObjectTypeTemplate ( args , cb ) ; public getProfileObjectTypeTemplate ( args , options , cb ) ; public getProfileObjectTypeTemplate ( args , optionsOrCb ? , cb ? ) { const command = new GetProfileObjectTypeTemplateCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all of the integrations associated to a specific URI in the AWS account.</p>
     */ public listAccountIntegrations ( args , options ? ) ; public listAccountIntegrations ( args , cb ) ; public listAccountIntegrations ( args , options , cb ) ; public listAccountIntegrations ( args , optionsOrCb ? , cb ? ) { const command = new ListAccountIntegrationsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a list of all the domains for an AWS account that have been created.</p>
     */ public listDomains ( args , options ? ) ; public listDomains ( args , cb ) ; public listDomains ( args , options , cb ) ; public listDomains ( args , optionsOrCb ? , cb ? ) { const command = new ListDomainsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all of the Identity Resolution Jobs in your domain. The response sorts the list by
     *             <code>JobStartTime</code>.</p>
     */ public listIdentityResolutionJobs ( args , options ? ) ; public listIdentityResolutionJobs ( args , cb ) ; public listIdentityResolutionJobs ( args , options , cb ) ; public listIdentityResolutionJobs ( args , optionsOrCb ? , cb ? ) { const command = new ListIdentityResolutionJobsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all of the integrations in your domain.</p>
     */ public listIntegrations ( args , options ? ) ; public listIntegrations ( args , cb ) ; public listIntegrations ( args , options , cb ) ; public listIntegrations ( args , optionsOrCb ? , cb ? ) { const command = new ListIntegrationsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a list of objects associated with a profile of a given ProfileObjectType.</p>
     */ public listProfileObjects ( args , options ? ) ; public listProfileObjects ( args , cb ) ; public listProfileObjects ( args , options , cb ) ; public listProfileObjects ( args , optionsOrCb ? , cb ? ) { const command = new ListProfileObjectsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all of the templates available within the service.</p>
     */ public listProfileObjectTypes ( args , options ? ) ; public listProfileObjectTypes ( args , cb ) ; public listProfileObjectTypes ( args , options , cb ) ; public listProfileObjectTypes ( args , optionsOrCb ? , cb ? ) { const command = new ListProfileObjectTypesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all of the template information for object types.</p>
     */ public listProfileObjectTypeTemplates ( args , options ? ) ; public listProfileObjectTypeTemplates ( args , cb ) ; public listProfileObjectTypeTemplates ( args , options , cb ) ; public listProfileObjectTypeTemplates ( args , optionsOrCb ? , cb ? ) { const command = new ListProfileObjectTypeTemplatesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Displays the tags associated with an Amazon Connect Customer Profiles resource. In Connect
     *          Customer Profiles, domains, profile object types, and integrations can be tagged.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Runs an AWS Lambda job that does the following:</p>
     *          <ol>
     *             <li>
     *                <p>All the profileKeys in the <code>ProfileToBeMerged</code> will be moved to the
     *                main profile.</p>
     *             </li>
     *             <li>
     *                <p>All the objects in the <code>ProfileToBeMerged</code> will be moved to the main
     *                profile.</p>
     *             </li>
     *             <li>
     *                <p>All the <code>ProfileToBeMerged</code> will be deleted at the end.</p>
     *             </li>
     *             <li>
     *                <p>All the profileKeys in the <code>ProfileIdsToBeMerged</code> will be moved to the
     *                main profile.</p>
     *             </li>
     *             <li>
     *                <p>Standard fields are merged as follows:</p>
     *                <ol>
     *                   <li>
     *                      <p>Fields are always "union"-ed if there are no conflicts in standard fields or
     *                      attributeKeys.</p>
     *                   </li>
     *                   <li>
     *                      <p>When there are conflicting fields:</p>
     *
     *                      <ol>
     *                         <li>
     *                            <p>If no <code>SourceProfileIds</code> entry is specified, the main
     *                            Profile value is always taken. </p>
     *                         </li>
     *                         <li>
     *                            <p>If a <code>SourceProfileIds</code> entry is specified, the specified
     *                            profileId is always taken, even if it is a NULL value.</p>
     *                         </li>
     *                      </ol>
     *                   </li>
     *                </ol>
     *             </li>
     *          </ol>
     *          <p>You can use MergeProfiles together with <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>, which
     *          returns potentially matching profiles, or use it with the results of another matching
     *          system. After profiles have been merged, they cannot be separated (unmerged).</p>
     */ public mergeProfiles ( args , options ? ) ; public mergeProfiles ( args , cb ) ; public mergeProfiles ( args , options , cb ) ; public mergeProfiles ( args , optionsOrCb ? , cb ? ) { const command = new MergeProfilesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Adds an integration between the service and a third-party service, which includes
     *          Amazon AppFlow and Amazon Connect.</p>
     *          <p>An integration can belong to only one domain.</p>
     */ public putIntegration ( args , options ? ) ; public putIntegration ( args , cb ) ; public putIntegration ( args , options , cb ) ; public putIntegration ( args , optionsOrCb ? , cb ? ) { const command = new PutIntegrationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Adds additional objects to customer profiles of a given ObjectType.</p>
     *          <p>When adding a specific profile object, like a Contact Trace Record (CTR), an inferred
     *          profile can get created if it is not mapped to an existing profile. The resulting profile
     *          will only have a phone number populated in the standard ProfileObject. Any additional CTRs
     *          with the same phone number will be mapped to the same inferred profile.</p>
     *          <p>When a ProfileObject is created and if a ProfileObjectType already exists for the
     *          ProfileObject, it will provide data to a standard profile depending on the
     *          ProfileObjectType definition.</p>
     *          <p>PutProfileObject needs an ObjectType, which can be created using
     *          PutProfileObjectType.</p>
     */ public putProfileObject ( args , options ? ) ; public putProfileObject ( args , cb ) ; public putProfileObject ( args , options , cb ) ; public putProfileObject ( args , optionsOrCb ? , cb ? ) { const command = new PutProfileObjectCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Defines a ProfileObjectType.</p>
     */ public putProfileObjectType ( args , options ? ) ; public putProfileObjectType ( args , cb ) ; public putProfileObjectType ( args , options , cb ) ; public putProfileObjectType ( args , optionsOrCb ? , cb ? ) { const command = new PutProfileObjectTypeCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Searches for profiles within a specific domain name using name, phone number, email
     *          address, account number, or a custom defined index.</p>
     */ public searchProfiles ( args , options ? ) ; public searchProfiles ( args , cb ) ; public searchProfiles ( args , options , cb ) ; public searchProfiles ( args , optionsOrCb ? , cb ? ) { const command = new SearchProfilesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Assigns one or more tags (key-value pairs) to the specified Amazon Connect Customer Profiles
     *          resource. Tags can help you organize and categorize your resources. You can also use them
     *          to scope user permissions by granting a user permission to access or change only resources
     *          with certain tag values. In Connect Customer Profiles, domains, profile object types, and
     *          integrations can be tagged.</p>
     *          <p>Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of
     *          characters.</p>
     *          <p>You can use the TagResource action with a resource that already has tags. If you specify
     *          a new tag key, this tag is appended to the list of tags associated with the resource. If
     *          you specify a tag key that is already associated with the resource, the new tag value that
     *          you specify replaces the previous value for that tag.</p>
     *          <p>You can associate as many as 50 tags with a resource.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes one or more tags from the specified Amazon Connect Customer Profiles resource. In Connect
     *          Customer Profiles, domains, profile object types, and integrations can be tagged.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates the properties of a domain, including creating or selecting a dead letter queue
     *          or an encryption key.</p>
     *          <p>After a domain is created, the name can’t be changed.</p>
     *          <p>Use this API or <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html">CreateDomain</a> to
     *          enable <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">identity
     *             resolution</a>: set <code>Matching</code> to true. </p>
     *          <p>To prevent cross-service impersonation when you call this API, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html">Cross-service confused deputy prevention</a> for sample policies that you should
     *          apply. </p>
     */ public updateDomain ( args , options ? ) ; public updateDomain ( args , cb ) ; public updateDomain ( args , options , cb ) ; public updateDomain ( args , optionsOrCb ? , cb ? ) { const command = new UpdateDomainCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates the properties of a profile. The ProfileId is required for updating a customer
     *          profile.</p>
     *          <p>When calling the UpdateProfile API, specifying an empty string value means that any
     *          existing value will be removed. Not specifying a string value means that any value already
     *          there will be kept.</p>
     */ public updateProfile ( args , options ? ) ; public updateProfile ( args , cb ) ; public updateProfile ( args , options , cb ) ; public updateProfile ( args , optionsOrCb ? , cb ? ) { const command = new UpdateProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }