import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { UpdateProfileRequest, UpdateProfileResponse } from "../models/models_1"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link UpdateProfileCommand}. */ export interface UpdateProfileCommandInput extends UpdateProfileRequest { } /** * @public * * The output of {@link UpdateProfileCommand}. */ export interface UpdateProfileCommandOutput extends UpdateProfileResponse, __MetadataBearer { } declare const UpdateProfileCommand_base: { new (input: UpdateProfileCommandInput): import("@smithy/core/client").CommandImpl; new (input: UpdateProfileCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Updates the properties of a profile. The ProfileId is required for updating a customer * profile.

*

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.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { CustomerProfilesClient, UpdateProfileCommand } from "@aws-sdk/client-customer-profiles"; // ES Modules import * // const { CustomerProfilesClient, UpdateProfileCommand } = require("@aws-sdk/client-customer-profiles"); // CommonJS import * // import type { CustomerProfilesClientConfig } from "@aws-sdk/client-customer-profiles"; * const config = {}; // type is CustomerProfilesClientConfig * const client = new CustomerProfilesClient(config); * const input = { // UpdateProfileRequest * DomainName: "STRING_VALUE", // required * ProfileId: "STRING_VALUE", // required * AdditionalInformation: "STRING_VALUE", * AccountNumber: "STRING_VALUE", * PartyType: "INDIVIDUAL" || "BUSINESS" || "OTHER", * BusinessName: "STRING_VALUE", * FirstName: "STRING_VALUE", * MiddleName: "STRING_VALUE", * LastName: "STRING_VALUE", * BirthDate: "STRING_VALUE", * Gender: "MALE" || "FEMALE" || "UNSPECIFIED", * PhoneNumber: "STRING_VALUE", * MobilePhoneNumber: "STRING_VALUE", * HomePhoneNumber: "STRING_VALUE", * BusinessPhoneNumber: "STRING_VALUE", * EmailAddress: "STRING_VALUE", * PersonalEmailAddress: "STRING_VALUE", * BusinessEmailAddress: "STRING_VALUE", * Address: { // UpdateAddress * Address1: "STRING_VALUE", * Address2: "STRING_VALUE", * Address3: "STRING_VALUE", * Address4: "STRING_VALUE", * City: "STRING_VALUE", * County: "STRING_VALUE", * State: "STRING_VALUE", * Province: "STRING_VALUE", * Country: "STRING_VALUE", * PostalCode: "STRING_VALUE", * }, * ShippingAddress: { * Address1: "STRING_VALUE", * Address2: "STRING_VALUE", * Address3: "STRING_VALUE", * Address4: "STRING_VALUE", * City: "STRING_VALUE", * County: "STRING_VALUE", * State: "STRING_VALUE", * Province: "STRING_VALUE", * Country: "STRING_VALUE", * PostalCode: "STRING_VALUE", * }, * MailingAddress: { * Address1: "STRING_VALUE", * Address2: "STRING_VALUE", * Address3: "STRING_VALUE", * Address4: "STRING_VALUE", * City: "STRING_VALUE", * County: "STRING_VALUE", * State: "STRING_VALUE", * Province: "STRING_VALUE", * Country: "STRING_VALUE", * PostalCode: "STRING_VALUE", * }, * BillingAddress: { * Address1: "STRING_VALUE", * Address2: "STRING_VALUE", * Address3: "STRING_VALUE", * Address4: "STRING_VALUE", * City: "STRING_VALUE", * County: "STRING_VALUE", * State: "STRING_VALUE", * Province: "STRING_VALUE", * Country: "STRING_VALUE", * PostalCode: "STRING_VALUE", * }, * Attributes: { // UpdateAttributes * "": "STRING_VALUE", * }, * PartyTypeString: "STRING_VALUE", * GenderString: "STRING_VALUE", * ProfileType: "ACCOUNT_PROFILE" || "PROFILE", * EngagementPreferences: { // EngagementPreferences * Phone: [ // PhonePreferenceList * { // ContactPreference * KeyName: "STRING_VALUE", * KeyValue: "STRING_VALUE", * ProfileId: "STRING_VALUE", * ContactType: "PhoneNumber" || "MobilePhoneNumber" || "HomePhoneNumber" || "BusinessPhoneNumber" || "EmailAddress" || "PersonalEmailAddress" || "BusinessEmailAddress", * }, * ], * Email: [ // EmailPreferenceList * { * KeyName: "STRING_VALUE", * KeyValue: "STRING_VALUE", * ProfileId: "STRING_VALUE", * ContactType: "PhoneNumber" || "MobilePhoneNumber" || "HomePhoneNumber" || "BusinessPhoneNumber" || "EmailAddress" || "PersonalEmailAddress" || "BusinessEmailAddress", * }, * ], * }, * }; * const command = new UpdateProfileCommand(input); * const response = await client.send(command); * // { // UpdateProfileResponse * // ProfileId: "STRING_VALUE", // required * // }; * * ``` * * @param UpdateProfileCommandInput - {@link UpdateProfileCommandInput} * @returns {@link UpdateProfileCommandOutput} * @see {@link UpdateProfileCommandInput} for command's `input` shape. * @see {@link UpdateProfileCommandOutput} for command's `response` shape. * @see {@link CustomerProfilesClientResolvedConfig | config} for CustomerProfilesClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

* * @throws {@link BadRequestException} (client fault) *

The input you provided is invalid.

* * @throws {@link InternalServerException} (server fault) *

An internal service error occurred.

* * @throws {@link ResourceNotFoundException} (client fault) *

The requested resource does not exist, or access was denied.

* * @throws {@link ThrottlingException} (client fault) *

You exceeded the maximum number of requests.

* * @throws {@link CustomerProfilesServiceException} *

Base exception class for all service exceptions from CustomerProfiles service.

* * * @public */ export declare class UpdateProfileCommand extends UpdateProfileCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateProfileRequest; output: UpdateProfileResponse; }; sdk: { input: UpdateProfileCommandInput; output: UpdateProfileCommandOutput; }; }; }