import { Agent } from 'undici'; import BaseParams, { DataCenter, BaseParamsSite } from './lib/interfaces/base-params.js'; import { CaptchaProvider } from './lib/interfaces/captchaProvider.js'; import GigyaResponse from './lib/interfaces/gigya-response.js'; import GigyaSamlConfig from './lib/interfaces/saml-config.js'; import ExternalIdP from './lib/interfaces/external-idp.js'; import GigyaError from './lib/gigya-error.js'; import ProxyHttpRequest from './lib/interfaces/proxy-http-request.js'; import { NoCredentials } from './lib/requestsSigners/AnonymousRequestSigner.js'; import { RSACredentials } from './lib/requestsSigners/AuthBearerSigner.js'; import { ISigner } from './lib/requestsSigners/ISigner.js'; import { PartnerSecret } from './lib/requestsSigners/PartnerSecretSigner.js'; import { SecretCredentials } from './lib/requestsSigners/SimpleRequestSigner.js'; import SigUtils from './lib/sig-utils.js'; import Gender from './lib/interfaces/gender.js'; import TargetEnv from './lib/interfaces/target-env.js'; import SessionExpiration from './lib/interfaces/session-expiration.js'; import Profile from './lib/interfaces/profile.js'; import './lib/interfaces/error-code.js'; import Account from './lib/interfaces/account.js'; import SessionInfo from './lib/interfaces/session-info.js'; import Counter from './lib/interfaces/counter.js'; import Identity from './lib/interfaces/identity.js'; import Preferences from './lib/interfaces/preferences.js'; import Subscriptions from './lib/interfaces/subscriptions.js'; import { Communications } from './lib/interfaces/communications.js'; declare class RBA { protected gigya: Gigya; constructor(gigya: Gigya); /** * This API gets the RBA (Risk-Based Authentication) policy for a site or master site of a group. * * @see http://developers.gigya.com/display/GD/accounts.rba.getPolicy */ getPolicy(params: BaseParams & any): Promise; /** * This API sets the RBA (Risk-Based Authentication) policy for a site or master site of a group. * * @see http://developers.gigya.com/display/GD/accounts.rba.setPolicy */ setPolicy(params: BaseParams & any): Promise; /** * This API unlocks either the specified user's account or the specified IP, depending upon which parameters are passed. * * @see http://developers.gigya.com/display/GD/accounts.rba.unlock */ unlock(params: BaseParams & any): Promise; } declare class Webhooks { protected gigya: Gigya; constructor(gigya: Gigya); /** * This method is used to delete a webhook. * * @see http://developers.gigya.com/display/GD/accounts.webhooks.delete+REST */ delete(params: BaseParams & WebhooksDeleteParams): Promise; /** * This method is used to retrieve a list of all defined webhooks. * * @see http://developers.gigya.com/display/GD/accounts.webhooks.getAll+REST */ getAll(params?: WebhooksGetAllParams): Promise; /** * This method is used to create a new webhook or update an existing one. * * @see http://developers.gigya.com/display/GD/accounts.webhooks.set+REST */ set(params: BaseParams & WebhooksSetParams): Promise; } type WebhooksEvents = Array<'accountCreated' | 'accountRegistered' | 'accountUpdated' | 'accountDeleted'>; interface Webhook { url: string; events: WebhooksEvents; name: string; active: boolean; signingUserKey?: string; } interface WebhooksDeleteParams { name: string; } interface WebhooksGetAllParams { } interface WebhooksGetAllResponse { webhooks: Array; } interface WebhooksSetParams extends Webhook { } interface GroupsDeleteSchemaFieldParams { /** The name of the model you want to edit. */ model: string; /** This is the field name of the data schema for the group. */ groupDataSchemaFieldName?: string; /** This is the relationship field name of the data schema. */ relationshipDataSchemaFieldName?: string; } interface GroupsGetSchemaParams { /** The model name to return the schema for. */ model: string; } interface SchemaAttributeDefinition { type: 'integer' | 'long' | 'float' | 'string' | 'basic-string' | 'encrypted-string' | 'text' | 'date' | 'boolean'; /** validation regex */ format?: string; required: boolean; writeAccess: 'serverOnly' | 'clientCreate' | 'clientModify'; } type DataSchema = { [key: string]: SchemaAttributeDefinition; }; interface SchemaType { groupDataSchema: G; relationShipDataSchema: R; } interface GroupsGetSchemaResponse { /** The name of the model being returned. */ model: string; /** The JSON comprising the schema of the requested model. */ schema: { groupDataSchema: G; relationshipDataSchema: R; }; } interface GroupsSetSchemaParams { /** The name of the model. */ model: string; /** optional if relationshipDataSchema provided */ groupDataSchema?: DataSchema; /** optional if groupDataSchema provided */ relationshipDataSchema?: DataSchema; } interface GroupsDeleteGroupParams { /** The name of the model the group adheres to. */ model: string; /** The groupId of the group to delete. */ groupId: string; } interface GroupsGetGroupInfoParams { /** The model this group is based upon. */ model: string; /** The groupId of the group to return. */ groupId: string; } interface GroupsGetGroupInfoResponse { group: GroupInfoType; } interface GroupsRegisterGroupParams { /** Which Model is this group based upon. */ model: string; /** The unique groupId for this group. */ groupId: string; /** The JSON data for the group as per the group data schema. */ groupData: GroupDataType; } interface GroupsSetGroupInfoParams { /** The Model this group is based upon. */ model: string; /** The unique groupID of the group to update. */ groupId: string; /** The JSON data for the group as per the group data schema. */ groupData: GroupDataType; } type GroupMemberPermission = 'groupRead' | 'groupWrite' | 'groupDelete' | 'relationshipRead' | 'relationshipWrite' | 'membersInvite' | 'membersAdd' | 'membersRemove' | 'setPermissions'; interface GroupsAssignGroupMemberParams { /** The Model the defined group is based upon. */ model: string; /** The unique groupId of the group you are adding the user to. */ groupId: string; /** The SAP Customer Data Cloud UID of the user you are adding to the defined group. */ UID: string; /** The information for the user based upon the relationship data schema. */ relationshipData?: RelationshipDataType; permissions?: GroupMemberPermission[] | string; } interface GroupsRemoveMemberParams { /** The model the defined group is based upon. */ model: string; /** The groupId of the group the user is being removed from. */ groupId: string; /** The SAP Customer Data Cloud UID of the user to remove from the defined group. */ UID: string; } interface GroupsSetGroupMemberInfoParams { /** The model the defined group is based upon. */ model: string; /** The unique groupId of the group within the model where the user to modify exists. */ groupId: string; /** The SAP Customer Data Cloud UID of the user you are modifying. */ UID: string; /** The user's relationship data based on the relationship data schema for the defined group. */ relationshipData: RelationshipDataType; permissions?: GroupMemberPermission[] | string; } interface GroupsGetSiteConfigResponse { /** The maximum number of groups any unique user can be a member of. */ maxGroupsPerUser: number; } type QueryType = StringList<'select * from relationship' | 'select * from groups' | 'select count(*) from relationship' | 'select count(*) from groups'>; interface GroupsSearchParams { /** The model you are querying. */ model: string; /** The query. You can search from either the groups or relationship objects. You can not pass query and cursorId in the same request. */ query?: QueryType; openCursor?: boolean; cursorId?: string; } interface GroupsSearchRelationshipResult { UID: string; groupId: string; model: string; relationshipData: R; profile: { lastName: string; email: string; firstName: string; }; memberSince: string; lastUpdated: string; memberSinceTimestamp: number; lastUpdatedTimestamp: number; } interface GroupsSearchGroupsResult { lastUpdated: string; lastUpdatedTimestamp: number; membersCount: number; created: string; groupId: string; createdTimestamp: number; model: string; groupData: G; } interface GroupsSearchCountResult { 'COUNT(*)'?: number; 'count(*)'?: number; } type GroupsSearchResultType = GroupsSearchGroupsResult | GroupsSearchRelationshipResult | GroupsSearchCountResult; interface GroupsSearchResponse { results: R[]; nextCursorId?: string; objectsCount: number; totalCount: number; } interface SearchGroupMembersParams { model: string; groupId: string; } interface SearchGroupMembersResponse { results: Array<{ UID: string; groupId: string; model: string; relationshipData: RelationShipSchema; profile: { lastName: string; email: string; firstName: string; }; memberSince: string; lastUpdated: string; memberSinceTimestamp: number; lastUpdatedTimestamp: number; permissions?: TPermissions; }>; } type ActualSearchGroupMemberPermissionsType = string; type MappedSearchGroupMemberPermissionsType = GroupMemberPermission[]; interface GroupsCreateModelParams { /** A name for the new model you are creating. */ model: string; } interface GroupsSetSiteConfigParams { /** The maximum number of groups any unique user can be a member of. The default is 15. */ maxGroupsPerUser: number; } declare class Groups { protected gigya: Gigya; constructor(gigya: Gigya); /** * This API creates a new group Model. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/53601a5a27324294bc24203ad7e5b667.html?locale=en-US */ createModel(params: BaseParams & GroupsCreateModelParams): Promise; /** * This API returns all existing models for the requested API key. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/a34f795951b045288613b93ef951828e.html?locale=en-US */ getAllModels(params: BaseParams): Promise; /** * This API deletes a schema field for an existing model. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/31ca3dbe74c5476388bb473ba0145b2a.html?locale=en-US */ deleteSchemaField(params: BaseParams & GroupsDeleteSchemaFieldParams): Promise; /** * This API returns the schema of an existing Groups model. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/89084df3a1894a5bbb8992214e097ba0.html?locale=en-US */ getSchema(params: BaseParams & GroupsGetSchemaParams): Promise>>; /** * This API defines a new schema for a model or can update an existing model schema. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/c3c302dad22649b68f99537b7c7f0425.html?locale=en-US */ setSchema(params: BaseParams & GroupsSetSchemaParams): Promise; /** * This API deletes an existing Group by ID. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/293ab917d6f847b6b00060403e3c5f6c.html?locale=en-US */ deleteGroup(params: BaseParams & GroupsDeleteGroupParams): Promise; /** * This API returns the information for an existing Group. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/ee84d6036b3f4e27ba7b89cd191fa206.html?locale=en-US */ getGroupInfo(params: BaseParams & GroupsGetGroupInfoParams): Promise>; /** * This API creates a new Group. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/d7234164b8ed4dc4aeca8e24f02ba97a.html?locale=en-US */ registerGroup(params: BaseParams & GroupsRegisterGroupParams): Promise; /** * This API updates an existing Group's information. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/a92c77976de04fb9ba8de9c024f1d041.html?locale=en-US */ setGroupInfo(params: BaseParams & GroupsSetGroupInfoParams): Promise; assignGroupMember(params: BaseParams & GroupsAssignGroupMemberParams): Promise; removeMember(params: BaseParams & GroupsRemoveMemberParams): Promise; setGroupMemberInfo(params: BaseParams & GroupsSetGroupMemberInfoParams): Promise; /** * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/082d770880254d9ca4b3c49920e77e17.html?locale=en-US */ getSiteConfig(): Promise; /** * This API sets the maximum number of groups a user can belong to. * This value is enforced at the site group level, a child site can not override this value. * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/5b1d60cfee1746cf8e19ca1704b33850.html?locale=en-US */ setSiteConfig(params: BaseParams & GroupsSetSiteConfigParams): Promise; /** * * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/522c165b6dd34cbe856e62ffd0405f24.html?locale=en-US */ search(params: BaseParams & GroupsSearchParams): Promise; searchGroupMembers(params: BaseParams & SearchGroupMembersParams): Promise>; } interface Model { model: string; } interface GroupsGetAllModelsResponse { models: Model[]; } type Asset = { type: string; path: string; actions: string[]; attributes: Record; }; type GetAssetsResponse = { allowedAssets: Asset[]; businessEntities?: unknown[]; accessPolicies?: [ { name: string; restricted: boolean; ID: string; } ]; }; type GetAssetsParams = { uid: string; bpId: string; appId: string; environments?: { environment?: Record; }; identity?: { id?: string; }; context?: { organization?: string; originating_ip?: string; }; response?: { include_identity?: boolean; include_reasons?: boolean; include_policy_external_id?: boolean; include_business_models?: boolean; }; clientId?: string; apiKey?: string; }; type GetPoliciesParams = { roleIds?: string[]; context?: Record | string; }; type GetPoliciesResponse = { requestedPolicies: [ { policyName: string; roleId: string; } ]; policiesNotFound?: [{ roleId: string; }]; }; declare class AccountsB2bAuth { protected gigya: Gigya; constructor(gigya: Gigya); getAssets(params: BaseParams & GetAssetsParams): Promise; getPolicies(params: BaseParams & GetPoliciesParams): Promise; } type BootstrapParams = {}; type BootstrapResponse = { authWorkspaces: { authWsId: string; clientId: string; }[]; }; declare class AccountsB2bSetup { protected gigya: Gigya; constructor(gigya: Gigya); bootstrap(params: BaseParams & BootstrapParams): Promise; } type GetAllParams = { context: Record; }; declare const WebhookEvents: readonly ["organizationRequested", "organizationEnteredDraftStage", "organizationEnteredApprovalWorkflow", "organizationActivated", "organizationSuspended", "organizationRejected", "organizationWorkflowEnabled", "organizationApprovalRequest_FinalStage_external"]; type WebhookEventsType = (typeof WebhookEvents)[number]; type GetAllResponse = { Webhook: { name: string; events: WebhookEventsType[]; webhookToken: string; }[]; }; declare class AccountsB2bWebhooks { protected gigya: Gigya; constructor(gigya: Gigya); getAll(params: BaseParams & GetAllParams): Promise; } type CreateBusinessEntityParams = { businessModelId: string; businessEntity: Record; }; type DeleteBusinessEntityParams = { businessModelId: string; searchKey: string; }; type GetBusinessEntityParams = DeleteBusinessEntityParams; type UpdateBusinessEntityParams = CreateBusinessEntityParams; type CreateBusinessEntityTypeParams = { name: string; description?: string; attributes?: { assignable: boolean; required: boolean; readOnly: boolean; onlyOnCreate: boolean; type: 'string' | 'number'; maxLength: number; defaultValue: string[]; order: number; displayAttribute: { required: boolean; readOnly: boolean; onlyOnCreate: boolean; type: 'string' | 'number'; maxLength: number; defaultValue: string[]; }; }[]; logoUrl?: string; displayName?: string; rulesets?: { name: string; description: string; rules: { attribute: string; operator: 'EQUAL' | 'NOT_EQUAL'; value: string; }[]; }[]; context?: Record; }; type DeleteBusinessEntityTypeParams = { id: string; context: Record; }; type GetBusinessEntityTypeParams = DeleteBusinessEntityTypeParams; type UpdateBusinessEntityTypeParams = CreateBusinessEntityTypeParams & { id: string; }; type CreateBusinessEntityCatalogParams = { name: string; description?: string; businessEntityTypeId: string; rulesetNames?: string[]; orgSchemaId: string; orgAvailabilityType: string; organizationBPIDs: string[]; availabilityRules: { operator: 'EQUALS' | 'NOT_EQUALS'; attribute: string; value: string; }[]; context: Record; }; type DeleteBusinessEntityCatalogParams = { id: string; context: Record; }; type GetBusinessEntityCatalogParams = DeleteBusinessEntityCatalogParams; type UpdateBusinessEntityCatalogParams = CreateBusinessEntityCatalogParams & { id: string; }; type CreateBusinessModelParams = { primaryBusinessModelId: string; businessModelId: string; displaySettings: { displayName: string; logoURL: string; }; organizationGroupKey?: { [organizationAttribute: string]: string[]; }; order: string[]; displayable: boolean; }; type DeleteBusinessModelParams = { businessModelId: string; }; type GetBusinessModelParams = DeleteBusinessModelParams; type UpdateBusinessModelParams = Pick; type GetBusinessModelResponse = { organizationGroupKey: CreateBusinessModelParams['organizationGroupKey']; }; type UpdateBusinessModelResponse = { businessModelId: string; }; type CreateTargetAudienceParams = {}; type DeleteTargetAudienceParams = {}; type GetTargetAudienceParams = {}; type UpdateTargetAudienceParams = {}; type GetOrganizationInfoParams = { bpid: string; }; type GetOrganizationInfoResponse = Omit & { orgId: string; orgName: string; bpid: string; description: string; source: 'SELF_REGISTRATION' | 'BACK_OFFICE' | 'IT_ADMIN' | 'IMPORT'; type: OrganizationGeneral['type']; status: Exclude; }; type SetOrganizationInfoParams = Omit & { bpid: string; orgName: string; info?: TOrgAddress; requester?: TReq; }; interface OrganizationAddress { city?: string; street_address?: string; state?: string; zip_code?: string; country?: string; } interface OrganizationGeneral { name: string; bpid?: string; membersLimit?: number; type?: 'CUSTOMER' | 'DISTRIBUTOR' | 'VENDOR' | 'SUPPLIER' | 'PARTNER'; description?: string; } type FieldName = string; type FieldSchema = { type: 'string' | 'integer'; required: boolean; allowNull: boolean; }; type GetOrganizationSchemaResponse = { organizationSchema: { fields: Record; }; requesterSchema: { fields: Record; }; }; interface Requester { firstName: string; lastName: string; email: string; phone?: string; jobFunction?: string; department?: string; } type RegisterOrganizationParams = { organization: TOrgGeneral & TOrgAddress; requester: TReq; importPolicy?: 'upsert' | 'insert'; status?: 'draft' | 'approved' | 'suspended'; }; type RegisterOrganizationResponse = { bpid?: string; }; type DeleteOrganizationParams = { bpid: string; }; type SetOrganizationBpidParams = { bpid: string; newBpid: string; context: Record; }; type SetOrganizationBpidResponse = { bpid: string; }; type SetOrganizationWorkflowStatusParams = { webhookToken: string; bpid: string; path: string; stepId: string; status: 'declined' | 'approved'; }; type GetAccountOrganizationInfoParams = { UID: string; bpid: string; }; type Policy = { name: string; restricted: boolean; autoAssignment: boolean; active: boolean; complete: boolean; externalId: string; roleId: string; applications: [ { name: string; assets: Array<{ name: string; ruleSet: boolean; }>; } ]; }; type GetAccountOrganizationInfoResponse = { organization: { status: 'active' | 'inactive'; orgId: string; bpid: string; orgName: string; lastUpdated: string; lastUpdatedTimestamp: number; policies: Policy[]; }; }; type SetAccountOrganizationInfoParams = { UID: string; bpid: string; department?: string; job?: string; status?: MembershipStatus; businessModels?: any; roleIds?: StringList; roles?: StringList; }; type MembershipStatus = 'active' | 'inactive'; type Role = 'Delegated Admin' | string; type InviteMemberParams = { bpid: string; username?: string; email?: string; phoneNumber?: string; roles?: StringList; roleIds?: StringList; department?: string; job?: string; data?: TData; profile?: Profile; sendNotification?: boolean; status?: MembershipStatus; }; type InviteMemberResponse = { uid: string; newUser: boolean; firstTimePassword?: string; }; type RemoveMemberParams = { uid: string; bpid: string; context?: any; }; type SearchParams = { query: string; }; type SearchResponse = { results: Array<{ lastUpdated: string; lastUpdatedTimestamp: number; created: string; createdTimestamp: number; orgId: string; orgName: string; bpid: string; description: string; source: string; type: OrganizationGeneral['type']; status: RegisterOrganizationParams['status']; info: { city: string[]; email: string[]; phone: string[]; state: string[]; mobile: string[]; po_box: string[]; country: string[]; building: string[]; zip_code: string[]; street_address: string[]; }; workflowStatus: unknown | null; memberLimit: number; }>; objectsCount: number; totalCount: number; }; declare class B2B { protected gigya: Gigya; readonly auth: AccountsB2bAuth; readonly setup: AccountsB2bSetup; readonly webhooks: AccountsB2bWebhooks; constructor(gigya: Gigya); createBusinessEntity(params: BaseParams & CreateBusinessEntityParams): Promise; deleteBusinessEntity(params: BaseParams & DeleteBusinessEntityParams): Promise; getBusinessEntity(params: BaseParams & GetBusinessEntityParams): Promise; updateBusinessEntity(params: BaseParams & UpdateBusinessEntityParams): Promise; createBusinessEntityType(params: BaseParams & CreateBusinessEntityTypeParams): Promise; deleteBusinessEntityType(params: BaseParams & DeleteBusinessEntityTypeParams): Promise; getBusinessEntityType(params: BaseParams & GetBusinessEntityTypeParams): Promise; updateBusinessEntityType(params: BaseParams & UpdateBusinessEntityTypeParams): Promise; createBusinessEntityCatalogEntry(params: BaseParams & CreateBusinessEntityCatalogParams): Promise; deleteBusinessEntityCatalogEntry(params: BaseParams & DeleteBusinessEntityCatalogParams): Promise; getBusinessEntityCatalogEntry(params: BaseParams & GetBusinessEntityCatalogParams): Promise; updateBusinessEntityCatalogEntry(params: BaseParams & UpdateBusinessEntityCatalogParams): Promise; createBusinessModel(params: BaseParams & CreateBusinessModelParams): Promise; deleteBusinessModel(params: BaseParams & DeleteBusinessModelParams): Promise; getBusinessModel(params: BaseParams & GetBusinessModelParams): Promise; updateBusinessModel(params: BaseParams & UpdateBusinessModelParams): Promise; createTargetAudience(params: BaseParams & CreateTargetAudienceParams): Promise; deleteTargetAudience(params: BaseParams & DeleteTargetAudienceParams): Promise; getTargetAudience(params: BaseParams & GetTargetAudienceParams): Promise; updateTargetAudience(params: BaseParams & UpdateTargetAudienceParams): Promise; getOrganizationSchema(params: BaseParams): Promise; registerOrganization(params: BaseParams & RegisterOrganizationParams): Promise; deleteOrganization(params: BaseParams & DeleteOrganizationParams): Promise; getOrganizationInfo(params: BaseParams & GetOrganizationInfoParams): Promise & { orgId: string; orgName: string; bpid: string; description: string; source: "SELF_REGISTRATION" | "BACK_OFFICE" | "IT_ADMIN" | "IMPORT"; type: OrganizationGeneral["type"]; status: Exclude; }>; setOrganizationInfo(params: BaseParams & SetOrganizationInfoParams): Promise; setOrganizationBpid(params: BaseParams & SetOrganizationBpidParams): Promise; setOrganizationWorkflowStatus(params: BaseParams & SetOrganizationWorkflowStatusParams): Promise; inviteMember(params: BaseParams & InviteMemberParams): Promise; removeMember(params: BaseParams & RemoveMemberParams): Promise; getAccountOrganizationInfo(params: BaseParams & GetAccountOrganizationInfoParams): Promise; setAccountOrganizationInfo(params: BaseParams & SetAccountOrganizationInfoParams): Promise; search(params: BaseParams & SearchParams): Promise; } interface GetTopicSettingsResponse { CommunicationSettings: Record; } type CommunicationSetting = GetTopicSettingsResponse['CommunicationSettings'][number]; interface SetTopicSettings { CommunicationSettings: Record>; } interface DeleteTopicSettings { CommunicationSettingsIds: string[]; } interface GetChannelsResponse { Channels: Record; }>; } interface SetChannelsParams { channels: Record; }>; } interface DeleteChannelsParams { channelIDs: string[]; } declare class Communication { protected gigya: Gigya; constructor(gigya: Gigya); /** * * This API retrieves all communication topics that were defined on the site. * For more information, see Subscription to Communication Topics. * @param params * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/dc9a76429ef64862b6c9302480909472.html?locale=en-US */ getTopicSettings(params?: BaseParams): Promise; /** * This API updates a communication topic that exists and is activated in Gigya, or creates it if it does not exist. For more information, see Subscription to Communication Topics. * @param params * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/7c53878d3e48427987ad86bc63a5f5fe.html?locale=en-US */ setTopicSettings(params: BaseParams & SetTopicSettings): Promise; /** * This API deletes a communication topic that exists in Gigya. For more information, see Subscription to Communication Topics. * @param params * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/5938074343c549e9a3cba3a8da3f6822.html?locale=en-US */ deleteTopicSettings(params: BaseParams & DeleteTopicSettings): Promise; /** * This API retrieves all communication channels that were defined on the site. For more information, see Subscription to Communication Topics. * @param params * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/e4a32b3dbe084a408dcdc5d36ba29597.html?locale=en-US */ getChannels(params?: BaseParams): Promise; /** * This API updates a communication channel that exists and is activated in Gigya, or creates it if it does not exist. For more information, see Subscription to Communication Topics. * @param params * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/9377da8a121c4c8588d0bbcca29b341f.html?locale=en-US */ setChannels(params: BaseParams & SetChannelsParams): Promise; /** * This API deletes a communication channel that exists in the system. For more information, see Subscription to Communication Topics. * @param params * @see https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/5d16230414634b28b7fe5c636beb41e2.html?locale=en-US */ deleteChannels(params: BaseParams & DeleteChannelsParams): Promise; } type GetAuthMethodsParams = { identifierType: 'username' | 'email' | 'emailOrUsername'; identifier: string; aToken?: string; }; type GetAuthMethodsResponse = { methods: Array<'password' | 'push' | 'emailOtp' | 'magicLink' | 'phoneOtp' | 'passkeyRegister' | 'passkeyLogin'>; }; declare class Auth { protected gigya: Gigya; constructor(gigya: Gigya); getMethods(params: BaseParams & GetAuthMethodsParams): Promise; } declare class Accounts { protected gigya: Gigya; readonly auth: Auth; readonly communication: Communication; readonly groups: Groups; readonly rba: RBA; readonly webhooks: Webhooks; readonly b2b: B2B; constructor(gigya: Gigya); /** * This method deletes the specified user's account from Gigya's database. * * @see http://developers.gigya.com/display/GD/accounts.deleteAccount+REST */ deleteAccount(params: BaseParams & AccountsDeleteAccountParams): Promise; /** * This method deletes a screen-set hosted by Gigya. * * @see http://developers.gigya.com/display/GD/accounts.deleteScreenSet+REST */ deleteScreenSet(params: BaseParams & AccountsDeleteScreenSetParams): Promise; /** * This method allows sites integrating 3rd party plugins to validate the UID of a logged-in user. * * @see http://developers.gigya.com/display/GD/accounts.exchangeUIDSignature+REST */ exchangeUIDSignature(params: BaseParams & AccountsExchangeUIDSignatureParams): Promise; /** * This method completes on-site user registration. * * @see http://developers.gigya.com/display/GD/accounts.finalizeRegistration+REST */ finalizeRegistration(params: BaseParams & AccountsFinalizeRegistrationParams): Promise & SessionInfo>; /** * This method retrieves user account data. * * @see http://developers.gigya.com/display/GD/accounts.getAccountInfo+REST */ getAccountInfo(params: BaseParams & AccountsGetAccountInfoParams): Promise>; /** * This method searches for a conflicting account: an account that uses the email associated with a social identity linked to the account currently logging in. * * @see http://developers.gigya.com/display/GD/accounts.getConflictingAccount+REST */ getConflictingAccount(params: BaseParams & AccountsGetConflictingAccountParams): Promise; /** * In implementations of Consent Management, this method returns all the consent statements defined for a given site. * * @see https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/660b99419e294030968610cbb27f42bf.html */ getConsentsStatements(params?: BaseParams): Promise; /** * This method retrieves the details of a legal statement (associated with a consent statement), including the languages, versions, purpose, custom data. * * @see https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/660b99419e294030968610cbb27f42bf.html */ getLegalStatements(params?: BaseParams & AccountsGetLegalStatementsParams): Promise; /** * This method retrieves the counters associated with a user ID (UID). * * @see http://developers.gigya.com/display/GD/accounts.getCounters+REST */ getCounters(params: BaseParams & AccountsGetCountersParams): Promise; /** * This API allows retrieval of the public key necessary for validating an id_token returned from the accounts.getJWT API endpoint. * * @see http://developers.gigya.com/display/GD/accounts.getJWTPublicKey+REST */ getJWTPublicKey(params?: BaseParams & AccountsGetJWTPublicKeyParams): Promise; /** * This API is used to obtain an OAuth2.0/OIDC compatible id_token containing an existing user's data. * * @see http://developers.gigya.com/display/GD/accounts.getJWT+REST */ getJWT(params: BaseParams & AccountsGetJWTParams): Promise; /** * This method retrieves account policies. * * @see http://developers.gigya.com/display/GD/accounts.getPolicies+REST */ getPolicies(params: BaseParams & AccountsGetPoliciesParams): Promise; /** * This method returns the counters that were registered for the site using accounts.registerCounters. * * @see http://developers.gigya.com/display/GD/accounts.getRegisteredCounters+REST */ getRegisteredCounters(params?: BaseParams): Promise; /** * This method retrieves the schema of the Profile object and the Data object (the site specific custom data object) in Gigya's Accounts Storage. * * @see http://developers.gigya.com/display/GD/accounts.getSchema+REST */ getSchema(params?: BaseParams & AccountsGetSchemaParams): Promise; /** * This method retrieves one or more screen-sets hosted by Gigya. * * @see http://developers.gigya.com/display/GD/accounts.getScreenSets+REST */ getScreenSets(params?: BaseParams & AccountsGetScreenSetsParams): Promise; /** * This API returns all effective consents (complete) for the specified site/group API key. * * @see https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/13d09b52ca21463580b418599b46de64.html */ getSiteConsentDetails(params?: BaseParams & AccountsGetSiteConsentDetailsParams): Promise; /** * This method retrieves Screenset's versions. * */ getScreenSetVersions(params?: BaseParams & AccountsGetScreenSetVersionsParams): Promise; /** * This method imports user account data into the Accounts Storage. * * @see http://developers.gigya.com/display/GD/accounts.importAccount+REST */ importFullAccount(params: BaseParams & AccountsImportFullAccountParams): Promise; importLiteAccount(params: BaseParams & AccountsImportLiteAccountParams): Promise; /** * This method imports a user's profile photo to Gigya's server. * * @see http://developers.gigya.com/display/GD/accounts.importProfilePhoto+REST */ importProfilePhoto(params: BaseParams & AccountsImportProfilePhotoParams): Promise; /** * When creating a custom counter, you first register it using accounts.registerCounters, then increment it using the current method. * * @see http://developers.gigya.com/display/GD/accounts.incrementCounters+REST */ incrementCounters(params: BaseParams & AccountsIncrementCountersParams): Promise; /** * This method initializes a registration process at a site. * * @see http://developers.gigya.com/display/GD/accounts.initRegistration+REST */ initRegistration(params?: BaseParams): Promise; /** * This method checks whether a certain login identifier (username / email) is available. * * @see http://developers.gigya.com/display/GD/accounts.isAvailableLoginID+REST */ isAvailableLoginID(params: BaseParams & AccountsIsAvailableLoginIDParams): Promise; /** * This method merges the account identified by the provided UID with the account identified by the provided login credentials (loginID + password). * * @see http://developers.gigya.com/display/GD/accounts.linkAccounts+REST */ linkAccounts(params: BaseParams & AccountsLinkAccountsParams): Promise & SessionInfo>; /** * This method logs a user into your site and opens a session for the logged-in user on success. * * @see http://developers.gigya.com/display/GD/accounts.login+REST */ login(params: BaseParams & AccountsLoginParams): Promise & SessionInfo>; /** * This method logs out the specified user of your site. * * @see http://developers.gigya.com/display/GD/accounts.logout+REST */ logout(params: BaseParams & AccountsLogoutParams): Promise; /** * This method notifies Gigya of an external login that happened outside of the Accounts system. * * @see http://developers.gigya.com/display/GD/accounts.notifyLogin+REST */ notifyLogin(params: BaseParams & (AccountsNotifyLoginParamsSiteUID | AccountsNotifyLoginParamsProviderSessions)): Promise & SessionInfo>; /** * This method publishes the last imported profile photo if it hadn't been published previously. * * @see http://developers.gigya.com/display/GD/accounts.publishProfilePhoto+REST */ publishProfilePhoto(params: BaseParams & AccountsPublishProfilePhotoParams): Promise; /** * When creating a custom counter, you first register it using this method, then increment it using accounts.incrementCounters. * * @see http://developers.gigya.com/display/GD/accounts.registerCounters+REST */ registerCounters(params: BaseParams & AccountsRegisterCountersParams): Promise; /** * This method registers a new user at your site, in accordance with the predefined site Policies and the Schema of the Accounts Storage. * * @see http://developers.gigya.com/display/GD/accounts.register+REST */ register(params: BaseParams & AccountsRegisterParams): Promise & SessionInfo>; /** * This method is used to resend a validation email to unverified addresses associated with the account. * * @see http://developers.gigya.com/display/GD/accounts.resendVerificationCode+REST */ resendVerificationCode(params: BaseParams & AccountsResendVerificationCodeParams): Promise; resendDOIConfirmationEmail(params: BaseParams & AccountsResendDOIConfirmationEmail): Promise; /** * This method resets a user's password, either via email or directly. * * @see http://developers.gigya.com/display/GD/accounts.resetPassword+REST */ resetPassword(params: BaseParams & AccountsResetPasswordParams): Promise; /** * Searches and retrieves data from Gigya's Accounts Storage using an SQL-like query. * * @see http://developers.gigya.com/display/GD/accounts.search+REST */ search(params: BaseParams & AccountsSearchParams): Promise; /** * This method sets account data into a user's account. * * @see http://developers.gigya.com/display/GD/accounts.setAccountInfo+REST */ setAccountInfo(params: BaseParams & AccountsSetAccountInfoParams): Promise; /** * This method creates a new Consent Statement in SAP Customer Data Cloud or updates an existing one. * * @see https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/e598c585f0f548b799cea824ccee2bc5.html */ setConsentsStatements(params: BaseParams & AccountsSetConsentsStatementsParams): Promise; /** * This method sets the details of an existing consent statement, including the languages, versions, purpose, custom data. * * @see https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/6fd13c4e61c642a096323d6efdc22653.html */ setLegalStatements(params: BaseParams & AccountsSetLegalStatementsParams): Promise; /** * This method is used to modify site policies regarding user registration and login. * * @see http://developers.gigya.com/display/GD/accounts.setPolicies+REST */ setPolicies(params: BaseParams & AccountsSetPoliciesParams): Promise; /** * This method uploads a user's profile photo to Gigya's server. * * @see http://developers.gigya.com/display/GD/accounts.setProfilePhoto+REST */ setProfilePhoto(params: BaseParams & AccountsSetProfilePhotoParams): Promise; /** * This method enables you to specify a schema for Gigya's Accounts Storage. * * @see http://developers.gigya.com/display/GD/accounts.setSchema+REST */ setSchema(params: BaseParams & AccountsSetSchemaParams): Promise; /** * This method updates a screen-set hosted by Gigya, or creates it if it does not exist. * * @see http://developers.gigya.com/display/GD/accounts.setScreenSet+REST */ setScreenSet(params: BaseParams & AccountsSetScreenSetParams): Promise; /** * This method unregisters counters. * * @see http://developers.gigya.com/display/GD/accounts.unregisterCounters+REST */ unregisterCounters(params: BaseParams & AccountsUnregisterCountersParams): Promise; getLiteToken(params: BaseParams & GetLiteTokenParams): Promise; } interface AccountsDeleteAccountParams { UID: string; cid?: string; } interface AccountsDeleteScreenSetParams { screenSetID: string; } interface AccountsExchangeUIDSignatureParams { UID: string; UIDSignature: string; signatureTimestamp: string; userKey: string; } interface AccountsExchangeUIDSignatureResponse { UID: string; UIDSignature: string; signatureTimestamp: string; } interface AccountsFinalizeRegistrationParams { regToken: string; include?: string; allowAccountsLinking?: boolean; targetEnv: TargetEnv; } declare const AccountInfoIncludes: readonly ["identities-active", "identities-all", "identities-global", "loginIDs", "emails", "profile", "data", "password", "isLockedOut", "lastLoginLocation", "regSource", "irank", "rba", "subscriptions", "userInfo", "preferences", "memberships", "communications", "groups"]; type AccountInfoInclude = (typeof AccountInfoIncludes)[number]; declare const AccountInfoExtraProfileFields: readonly ["languages", "address", "phones", "education", "educationLevel", "honors", "publications", "patents", "certifications", "likes", "professionalHeadline", "bio", "industry", "specialities", "work", "skills", "religion", "politicalView", "interestedIn", "relationshipStatus", "hometown", "favorites", "followersCount", "followingCount", "username", "name", "locale", "verified", "timezone", "samlData"]; type AccountInfoExtraProfileFields = (typeof AccountInfoExtraProfileFields)[number]; declare const AccountInfoCommunicationsInclude: readonly ["all"]; type AccountInfoCommunicationsInclude = (typeof AccountInfoCommunicationsInclude)[number]; type AutoComplete = T | (string & {}); type StringList = Array> | string; type FindByAttr = { [k in T]: string; }; declare const findByKeys: readonly ["_email", "_uid", "_username", "_phoneNumber"]; type FindByKey = (typeof findByKeys)[number]; interface AccountsGetAccountInfoParams { UID?: string; regToken?: string; include?: StringList; extraProfileFields?: StringList; includeCommunications?: StringList; findBy?: Partial>; } interface AccountsGetConflictingAccountParams { regToken: string; } interface AccountsGetConflictingAccountResponse { conflictingAccount: { loginProviders: Array; }; loginID: string; } interface AccountsGetConsentsStatementsResponse { preferences: any; } interface AccountsGetLegalStatementsParams { lang?: any; consentId?: string; format?: string | null; callback?: string; httpStatusCodes?: boolean; } interface AccountsGetLegalStatementsResponse { legalStatements: any; } interface AccountsGetCountersParams { UID?: string; regToken?: string; counters: Array; } interface AccountsGetCountersResponse { counters: Array; } interface AccountsGetJWTPublicKeyParams { V2?: boolean; } type KeyDetails = { kty: string; alg: string; use: string; kid: string; n: string; e: string; }; type AccountsGetJWTPublicKeyResponse = V2 extends true ? Array : KeyDetails; interface AccountsGetJWTParams { targetUID: string; fields?: string; expiration?: number; } interface AccountsGetJWTResponse { id_token: string; ignoredFields: string; } interface AccountsGetPoliciesParams { sections?: string; filter?: 'full' | 'explicitOnly'; } interface AccountsGetPoliciesResponse { accountOptions: { verifyEmail: boolean; verifyProviderEmail: boolean; allowUnverifiedLogin: boolean; loginIdentifiers: string; defaultLanguage: string; loginIdentifierConflict: 'ignore' | 'failOnSiteConflictingIdentity' | 'failOnAnyConflictingIdentity'; preventLoginIDHarvesting: boolean; sendAccountDeletedEmail: boolean; sendWelcomeEmail: boolean; welcomeEmailTemplates: { [key: string]: string; }; }; emailNotifications: { confirmationEmailTemplates: { [key: string]: string; }; accountDeletedEmailTemplates: { [key: string]: string; }; accountDeletedEmailDefaultLanguage: string; confirmationEmailDefaultLanguage: string; }; emailVerification: { autoLogin: boolean; nextURL: string; nextURLMapping: { [key: string]: string; }; verificationEmailExpiration: number; defaultLanguage: string; emailTemplates: { [key: string]: string; }; }; gigyaPlugins: { defaultRegScreenSet: string; defaultMobileRegScreenSet: string; sessionExpiration: SessionExpiration; rememberSessionExpiration: SessionExpiration; }; passwordComplexity: { minCharGroups: number; minLength: number; regExp: string; }; passwordReset: { requireSecurityCheck: boolean; securityFields: Array>; resetURL: string; tokenExpiration: number; defaultLanguage: string; emailTemplates: { [key: string]: string; }; sendConfirmationEmail: boolean; }; profilePhoto: { thumbnailWidth: number; thumbnailHeight: number; }; registration: { requireCaptcha: boolean; requireSecurityQuestion: boolean; requireLoginID: boolean; enforceCoppa: boolean; }; security: { accountLockout: { failedLoginThreshold: number; lockoutTimeSec: number; failedLoginResetSec: number; }; captcha: { failedLoginThreshold: number; }; ipLockout: { hourlyFailedLoginThreshold: number; lockoutTimeSec: number; }; passwordChangeInterval: number; passwordHistorySize: number; }; twoFactorAuth: { providers: Array<{ name: string; enabled: boolean; params: { [key: string]: string; }; }>; }; federation: { allowMultipleIdentities: boolean; }; doubleOptIn: { nextURL: string; defaultLanguage: string; confirmationLinkExpiration: number; confirmationEmailTemplates: { [key: string]: string; }; }; authentication: { methods: AuthMethods; }; } interface AccountsSetPoliciesParams { accountOptions?: { verifyEmail?: boolean; verifyProviderEmail?: boolean; allowUnverifiedLogin?: boolean; loginIdentifiers?: string; defaultLanguage?: string; loginIdentifierConflict?: 'ignore' | 'failOnSiteConflictingIdentity' | 'failOnAnyConflictingIdentity'; preventLoginIDHarvesting?: boolean; sendAccountDeletedEmail?: boolean; sendWelcomeEmail?: boolean; welcomeEmailTemplates?: { [key: string]: string; }; } | null; emailNotifications?: { confirmationEmailTemplates?: { [key: string]: string; }; accountDeletedEmailTemplates?: { [key: string]: string; }; accountDeletedEmailDefaultLanguage?: string; confirmationEmailDefaultLanguage?: string; } | null; emailVerification?: { autoLogin?: boolean; nextURL?: string; nextURLMapping?: { [key: string]: string; }; verificationEmailExpiration?: number; defaultLanguage?: string; emailTemplates?: { [key: string]: string; }; } | null; gigyaPlugins?: { defaultRegScreenSet?: string; defaultMobileRegScreenSet?: string; sessionExpiration?: SessionExpiration; rememberSessionExpiration?: SessionExpiration; } | null; passwordComplexity?: { minCharGroups?: number; minLength?: number; regExp?: string; } | null; passwordReset?: { requireSecurityCheck?: boolean; securityFields?: Array>; resetURL?: string; tokenExpiration?: number; defaultLanguage?: string; emailTemplates?: { [key: string]: string; }; sendConfirmationEmail?: boolean; } | null; profilePhoto?: { thumbnailWidth?: number; thumbnailHeight?: number; } | null; registration?: { requireCaptcha?: boolean; requireSecurityQuestion?: boolean; requireLoginID?: boolean; enforceCoppa?: boolean; } | null; security?: { accountLockout?: { failedLoginThreshold?: number; lockoutTimeSec?: number; failedLoginResetSec?: number; }; captcha?: { failedLoginThreshold?: number; }; ipLockout?: { hourlyFailedLoginThreshold?: number; lockoutTimeSec?: number; }; passwordChangeInterval?: number; passwordHistorySize?: number; } | null; twoFactorAuth?: { providers?: Array<{ name?: string; enabled?: boolean; params?: { [key: string]: string; }; }>; } | null; federation?: { allowMultipleIdentities?: boolean; } | null; doubleOptIn?: { nextURL?: string; defaultLanguage?: string; confirmationLinkExpiration?: number; confirmationEmailTemplates?: { [key: string]: string; }; } | null; authentication?: { methods?: AuthMethods; }; } interface AccountsGetRegisteredCountersResponse { counters: Array; } interface AccountsSetAccountInfoParams { UID?: string; regToken?: string; addLoginEmails?: string; conflictHandling?: 'fail' | 'saveProfileAndFail'; data?: DataType; subscriptions?: Subscriptions; lang?: string; communications?: Communications<'write'>; preferences?: Preferences<'write'>; isActive?: boolean; isLockedOut?: boolean; isVerified?: boolean; newPassword?: string; password?: string; phoneNumber?: string; profile?: Profile; removeLoginEmails?: string; requirePasswordChange?: boolean; secretAnswer?: string; secretQuestion?: string; securityOverride?: boolean; rba?: { riskPolicy: string; riskPolicyLocked: boolean; }; username?: string; created?: string; regSource?: string; muteWebhooks?: boolean; } interface AccountsSetConsentsStatementsParams { preferences: any; format?: string | null; callback?: string; httpStatusCodes?: boolean; } interface AccountsSetLegalStatementsParams { lang?: any; consentId?: string; legalStatements?: any; format?: string | null; callback?: string; httpStatusCodes?: boolean; } interface AccountsImportFullAccountParams { UID: string; importPolicy?: string; created?: string; data?: any; dataCenter?: DataCenter; emails?: { verified?: string[]; unverified?: string[]; }; identities?: Identity[]; isActive?: boolean; isRegistered?: boolean; isVerified?: boolean; lastLogin?: string; lastUpdated?: string; loginIds?: { username?: string; emails?: string[]; unverifiedEmails?: string[]; }; password?: { compoundHashedPassword?: string; hashedPassword?: string; hashSettings?: { algorithm: string; salt: string; rounds: number; format: string; binaryFormat: string; url: string; }; secretQuestionAndAnswer?: { secretQuestion: string; secretAnswer: string; }; }; preferences?: Preferences<'read'>; profile?: Profile; registered?: string; regSource?: string; subscriptions?: Subscriptions; verified?: string; lang?: string; providerSessions?: any; } interface AccountsImportFullAccountResponse { identityConflicts: { provider: string; providerUID: string; }[]; } interface AccountsImportLiteAccountParams { email: string; profile: Profile; preferences: Preferences<'write'>; subscriptions: Subscriptions; data: Record; } interface AccountsImportLiteAccountResponse { } interface AccountsImportProfilePhotoParams { url: string; UID?: string; regToken?: string; publish?: boolean; } interface AccountsIncrementCountersParams { UID?: string; regToken?: string; counters: Array; } interface AccountsInitRegistrationResponse { regToken: string; } interface AccountsLinkAccountsParams { UID?: string; regToken?: string; loginID: string; password: string; include?: string; targetEnv: TargetEnv; } interface AccountsPublishProfilePhotoParams { UID?: string; regToken?: string; thumbnail?: string; } interface AccountsRegisterCountersParams { counters: Array; } interface AccountsRegisterParams { username?: string; email?: string; password: string; regToken?: string; profile?: Profile; captchaText?: string; captchaToken?: string; cid?: string; data?: any; subscriptions?: any; preferences?: any; finalizeRegistration?: boolean; secretQuestion?: string; secretAnswer?: string; lang?: string; targetEnv?: TargetEnv; include?: string; sessionExpiration?: SessionExpiration; siteUID?: string; regSource?: string; } interface AccountsResendVerificationCodeParams { UID?: string; regToken?: string; email?: string; } interface AccountsResendDOIConfirmationEmail { email: string; subscriptionId: string; lang?: string; context?: any; } interface AccountsResetPasswordParams { loginID: string; passwordResetToken: string; newPassword: string; secretAnswer: string; securityFields: string; email?: string; lang?: string; sendEmail?: string; } interface AccountsResetPasswordResponse { secretQuestion?: string; passwordResetToken?: string; emails?: { verified: Array; unverified: Array; }; UID?: string; } interface AccountsSearchParams { query?: string; querySig?: string; expTime?: number; openCursor?: boolean; cursorId?: string; timeout?: number; restrictedQuery?: string; } interface AccountsSearchResponse { results: Array; nextCursorId?: string; objectsCount: number; totalCount: number; } interface AccountsSetProfilePhotoParams { UID?: string; regToken?: string; photoBytes?: string; publish?: boolean; } interface AccountsLoginParams { loginID: string; password: string; captchaToken?: string; captchaText?: string; actionAttributes?: { [key: string]: string; }; cid?: string; include?: Array | string; loginMode?: 'standard' | 'link' | 'reAuth'; sessionExpiration?: SessionExpiration; targetEnv?: TargetEnv; } interface AccountsLogoutParams { UID: string; cid?: string; } interface AccountsNotifyLoginParams { siteUID?: string; providerSessions?: { [key: string]: any; }; cid?: string; targetEnv?: TargetEnv; regSource?: string; sessionExpiration?: SessionExpiration; } interface AccountsNotifyLoginParamsSiteUID extends AccountsNotifyLoginParams { siteUID: string; } interface AccountsNotifyLoginParamsProviderSessions extends AccountsNotifyLoginParams { providerSessions: { [key: string]: any; }; } type AccountsSchemaWriteAccess = 'serverOnly' | 'clientCreate' | 'clientModify'; type AccountsSchemaType = 'integer' | 'long' | 'float' | 'basic-string' | 'string' | 'text' | 'date' | 'boolean'; type AccountsSchemaEncrypt = 'AES' | ''; interface AccountsSetSchemaParams { profileSchema?: { fields: { [key: string]: AccountsProfileSetSchemaField; }; }; dataSchema?: { fields: { [key: string]: AccountsDataSetSchemaField; }; dynamicSchema?: boolean; }; subscriptionsSchema?: { fields: { [key: string]: AccountsSubscriptionSetSchemaField; }; }; preferencesSchema?: { fields: { [key: string]: AccountsPreferencesSetSchemaField; }; }; scope?: 'group' | 'site'; } interface AccountsProfileSetSchemaField { required?: boolean; writeAccess?: AccountsSchemaWriteAccess; languages?: Array; } interface AccountsDataSetSchemaField extends AccountsProfileSetSchemaField { allowNull?: boolean; encrypt?: AccountsSchemaEncrypt | null; format?: string | null; type?: AccountsSchemaType; } interface AccountsSubscriptionSetSchemaField extends AccountsProfileSetSchemaField { doubleOptIn?: boolean; description?: string | null; type?: AccountsSchemaType; } interface AccountsPreferencesSetSchemaField extends AccountsProfileSetSchemaField { type?: 'consent'; currentDocDate?: string; minDocDate?: string; currentDocVersion?: number; minDocVersion?: number; format?: string | null; } declare const SchemaIncludes: readonly ["profileSchema", "dataSchema", "subscriptionsSchema", "preferencesSchema", "internalSchema"]; type SchemaIncludes = (typeof SchemaIncludes)[number]; interface AccountsGetSchemaParams { filter?: 'full' | 'explicitOnly' | 'clientOnly'; scope?: 'effective' | 'group' | 'site'; include?: StringList; internalSchema?: boolean; } interface AccountsGetSchemaResponse { profileSchema: { fields: { [key: string]: AccountsGetSchemaField; }; }; dataSchema: { fields: { [key: string]: AccountsGetSchemaField; }; }; subscriptionsSchema: { fields: { [key: string]: AccountsGetSchemaField; }; }; preferencesSchema: { fields: { [key: string]: AccountsPreferencesGetSchemaField; }; }; } interface AccountsGetSchemaField { type: AccountsSchemaType; required: boolean; writeAccess: AccountsSchemaWriteAccess; allowNull: boolean; languages?: Array; encrypt?: AccountsSchemaEncrypt; format?: string; } interface AccountsPreferencesGetSchemaField { type: 'consent'; required: boolean; writeAccess: AccountsSchemaWriteAccess; format?: string; currentDocDate?: string; minDocDate?: string; currentDocVersion?: number; minDocVersion?: number; customData?: Record; consentVaultRetentionPeriod?: number; legalStatements: Record; }>; } interface ScreenSet { screenSetID: string; html: string; css: string; javascript?: string; translations?: { [languageCode: string]: { [translationKey: string]: string; }; }; metadata: { designerHtml?: string; desc?: string; targetEnv?: string; lastModified?: string; version?: number; }; } interface AccountsGetScreenSetsParams { screenSetIDs?: string | Array; include?: string; version?: number; } interface AccountsGetScreenSetsResponse { screenSets: Array; } interface AccountsGetSiteConsentDetailsParams { apiKey?: string; } interface AccountsGetSiteConsentDetailsResponse { siteConsentDetails: any; } interface ScreenSetVersion { version: number; lastModified: number; comment: string; uiBuilderSupport: boolean; } interface AccountsGetScreenSetVersionsParams { screenSetID: string; startVersion?: number; count?: number; } interface AccountsGetScreenSetVersionsResponse { screenSetVersions: ScreenSetVersion[]; } interface AccountsIsAvailableLoginIDParams { loginID: string; } interface AccountsIsAvailableLoginIDResponse { isAvailable: boolean; } interface AccountsSetScreenSetParams { screenSetID: string; comment: string; html: string; css: string; javascript?: string; translations?: { [languageCode: string]: { [translationKey: string]: string; }; }; metadata?: { designerHtml?: string; desc?: string; targetEnv?: string; lastModified?: string; }; } interface AccountsUnregisterCountersParams { counters: Array; } interface AuthMethods { password: { enabled: boolean; }; push?: { enabled: boolean; }; } type GetLiteTokenParams = { emailToken: string; } | { email: string; }; interface GetLiteTokenResponse { token: string; } declare class Admin { protected gigya: Gigya; constructor(gigya: Gigya); /** * This method creates a new site. * * @see http://developers.gigya.com/display/GD/admin.createSite+REST */ createSite(params: BaseParamsSite & AdminCreateSiteParams): Promise; /** * This API retrieves a partner's previously-saved ACL and its description, or a built-in ACL. * * @see http://developers.gigya.com/display/GD/admin.getACL+REST */ getEffectiveACL(params: BaseParamsSite & (AdminGetEffectiveACLTargetUserKeyParams | AdminGetEffectiveACLGroupIDsParams)): Promise; setAcl(params: BaseParamsSite & AdminSetAclParams): Promise; /** * This API retrieves a specified partner's information. * * @see http://developers.gigya.com/display/GD/admin.getPartner+REST */ getPartner(params: BaseParamsSite & AdminGetPartnerParams): Promise; /** * This API retrieves a partner's previously-saved ACL and its description, or a built-in ACL. * * @see http://developers.gigya.com/display/GD/admin.getACL+REST */ getSiteConfig(params: BaseParamsSite & AdminGetSiteConfigParams): Promise; /** * This API returns either all sites with which a user is associated by way of group memberships or all sites in a specific partner with which a user is associated. * * @see http://developers.gigya.com/display/GD/admin.getUserSites+REST */ getUserSites(params: BaseParamsSite & AdminGetUserSitesParams): Promise; /** * This method searches the partner IDs, site IDs, base domains, and company names. * * @see http://developers.gigya.com/display/GD/admin.search+REST */ search(params: BaseParamsSite & AdminSearchParams): Promise; /** * This method sets the configuration for existing sites. * * @see http://developers.gigya.com/display/GD/admin.setSiteConfig+REST */ setSiteConfig(params: BaseParamsSite & AdminSetSiteConfigParams): Promise; /** * This method deletes an exisiting site by API key * * @see http://developers.gigya.com/display/GD/admin.deleteSite+REST */ deleteSite(params: BaseParamsSite & AdminDeleteSiteParams): Promise; /** * This method updates an exisiting partner by partnerID * * @see https://developers.gigya.com/display/GD/admin.updatePartner+REST */ updatePartner(params: BaseParamsSite & AdminUpdatePartnerParams): Promise; } interface AdminCreateSiteParams { partnerID: number | string; baseDomain: string; description?: string; dataCenter?: string; isGlobalSite?: boolean; secondaryDataCenters?: Array; } interface AdminCreateSiteResponse { apiKey: string; } interface AdminGetEffectiveACLTargetUserKeyParams { partnerID: number | string; targetUserKey: string; apiKey?: string; } interface AdminGetEffectiveACLGroupIDsParams { partnerID: number | string; groupIds: string; apiKey?: string; } interface AdminGetEffectiveACLResponse { eACL: { _api: { [namespace: string]: { [method: string]: { _ace: { perms: 'x'; }; }; }; }; }; } interface AdminSetAclParams { partnerID: string; aclID: string; acl: { _api: { [namespace: string]: { [method: string]: { _ace: { perms: 'x'; }; } & Record; }; }; }; } interface AdminServices { gm?: { enabled: boolean; }; comments?: { enabled: boolean; }; accounts?: { enabled: boolean; features: Array; }; audit?: { enabled: boolean; }; ds?: { enabled: boolean; }; ids?: { enabled: boolean; }; samlIdp?: { enabled: boolean; }; nexus?: { enabled: boolean; features: Array; }; defaultDBSize: string; defaultDataCenter: string; customData: { websiteURL: string; companyName: string; }; secretKey: string; liteAccount?: { enabled: boolean; }; subscriptions?: { enabled: boolean; }; } interface AdminGetPartnerParams { partnerID: number | string; } interface AdminGetPartnerResponse { partnerID: number; isTrial: boolean; isEnabled: boolean; services: AdminServices; defaultDataCenter: string; customData: { websiteURL: string; companyName: string; }; secretKey: string; auditRetention: number | string; } interface AdminUserSite { siteID: number; apiKey: string; baseDomain: string; description: string; dataCenter: string; } interface AdminGetUserSitesParams { targetUserKey?: string; targetPartnerID?: number; } interface AdminGetUserSitesResponse { sites: Array<{ partnerID: number; sites: Array; }>; } interface AdminGetSiteConfigParams { apiKey: string; includeServices?: boolean; includeSiteGroupConfig?: boolean; includeSiteID?: boolean; explicitSiteGroupConfig?: boolean; explicitSiteConfig?: boolean; includeGigyaSettings?: boolean; includeGlobalConf?: boolean; includeGlobalSiteSettings?: boolean; } interface AdminGetSiteConfigResponse { baseDomain: string; dataCenter: string; trustedSiteURLs: Array; description: string; captchaProvider: CaptchaProvider; services: AdminServices; siteID: number; gigyaSettings: { enableRequestLoggingUntil: string; dsSize: string; enableSSLForCNAME: boolean; customAPIDomainPrefix: string; }; settings: { CNAME: string; shortURLDomain: string; shortURLRedirMethod: string; }; siteGroupConfig: { members?: Array; enableSSO: boolean; SSOSegment: string; }; siteGroupOwner?: string; enableDataSharing: boolean; trustedShareURLs: Array; logoutURL?: string; globalConf?: string; isGlobalSite: boolean; invisibleRecaptcha?: { siteKey?: string; secret?: string; }; recaptchaV2?: { siteKey?: string; secret?: string; }; funCaptcha?: { siteKey?: string; secret?: string; }; globalSiteSettings?: { secondaryDatacenters: Array; }; } interface AdminSetSiteConfigParams { apiKey: string; baseDomain?: string; dataCenter?: string; trustedSiteURL?: Array; description?: string; captchaProvider: CaptchaProvider; logoutURL?: string; services?: { gm?: { enabled: boolean; }; comments?: { enabled: boolean; }; accounts?: { enabled: boolean; features: Array; }; audit?: { enabled: boolean; }; ds?: { enabled: boolean; }; ids?: { enabled: boolean; }; samlIdp?: { enabled: boolean; }; nexus?: { enabled: boolean; features: Array; }; defaultDBSize?: string; defaultDataCenter?: string; customData?: { websiteURL?: string; companyName?: string; }; }; gigyaSettings?: { enableRequestLoggingUntil?: string; dsSize?: string; enableSSLForCNAME?: boolean; customAPIDomainPrefix?: string; }; settings?: { CNAME?: string; shortURLDomain?: string; shortURLRedirMethod?: string; }; siteGroupConfig?: { enableSSO?: boolean; SSOSegment?: string; }; siteGroupOwner?: string | null; enableDataSharing?: boolean; trustedShareURLs?: Array; globalConf?: string; invisibleRecaptcha?: { siteKey?: string; secret?: string; }; recaptchaV2?: { siteKey?: string; secret?: string; }; funCaptcha?: { siteKey?: string; secret?: string; }; } interface AdminSearchParams { query: string; } interface AdminSearchResponse { data: Array<{ partnerID: number; companyName: string; isTrial: boolean; }>; } interface AdminDeleteSiteParams { apiKey: string; deleteToken?: string; format?: string; callback?: string; httpStatusCodes?: boolean; } interface AdminUpdatePartnerParams { partnerID: string; defaultDataCenter?: string; isEnabled?: boolean; isMigratedToSoa?: boolean; isTrial?: boolean; tenantID?: string; format?: string; services?: AdminServices; auditRetention?: string | number; } declare class Audit { protected gigya: Gigya; constructor(gigya: Gigya); /** * The method enables you to search your site's audit log using an SQL-like query. * * @see http://developers.gigya.com/display/GD/audit.search */ search(params: BaseParamsSite & AuditSearchParams): Promise; } interface AuditSearchParams { query: string; } interface AuditSearchResponse { objectsCount: number; totalCount: number; results: Array<{ '@timestamp': string; callID: string; errCode: string; endpoint: string; errMessage: string; authType?: string; userKey: string; sourceIP: string; params: Record; uid: string; apikey: string; httpReq: { SDK: string; country: string; }; userKeyDetails?: { description: string; name: string; emailDomain: string; }; }>; } declare class DS { protected gigya: Gigya; constructor(gigya: Gigya); /** * Deletes object data or an entire object from Gigya's Data Store. * * @see http://developers.gigya.com/display/GD/ds.delete+REST */ delete(params: BaseParams & DSDeleteParams): Promise; /** * Retrieves an object's or the specified datum from Gigya's Data Store. * * @see http://developers.gigya.com/display/GD/ds.get+REST */ get(params: BaseParams & DSGetParams): Promise; /** * This method retrieves the schema of a specified data type in Gigya's Data Store (DS). * * @see http://developers.gigya.com/display/GD/ds.getSchema+REST */ getSchema(params: BaseParams & any): Promise; /** * Searches and retrieves data from Gigya's Data Store (DS) using an SQL-like query. * * @see http://developers.gigya.com/display/GD/ds.search+REST */ search(params: BaseParams & DSSearchParams): Promise; /** * This method allows specifying a schema for a data type in Gigya's Data Store (DS). * * @see http://developers.gigya.com/display/GD/ds.setSchema+REST */ setSchema(params: BaseParams & any): Promise; /** * Stores an object data in Gigya's Data Store (DS). * * @see http://developers.gigya.com/display/GD/ds.store+REST */ store(params: BaseParams & DSStoreParams): Promise; } interface DSObject { oid: string; lastUpdated: number; lastUpdatedTime: string; created: number; createdTime: string; data: any; } interface DSDeleteParams extends DSGetParams { } interface DSGetParams { oid: string; type: string; fields?: string; UID?: string; } interface DSSearchParams { query: string; openCursor?: boolean; cursorId?: boolean; timeout?: number; } interface DSSearchResponse { objectsCount: number; totalCount: number; results: Array; nextCursorId?: string; } type DSStoreUpdateBehavior = 'arrayPush' | 'arraySet' | 'replace'; interface DSStoreParams { data: any; type: string; oid: string | 'auto'; UID?: string; updateBehavior: 'arrayPush' | 'arraySet' | 'replace'; } interface DSStoreResponse { oid: string; } declare class FidmOidcOp { protected gigya: Gigya; constructor(gigya: Gigya); /** * This API deletes an existing OP configuration. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.clearConfig+REST */ clearConfig(params: BaseParams & any): Promise; /** * This API registers and configures a new RP for the OP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.createRP+REST */ createRP(params: BaseParams & any): Promise; /** * This API deletes an existing OP configuration. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.delRP+REST */ delRP(params: BaseParams & any): Promise; /** * This API retrieves the site OP configuration relevant for all clients/relying-parties of the site. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.getConfig+REST */ getConfig(params: BaseParams & any): Promise; /** * This API retrieves the site OP metadata. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.getMetadata+REST */ getMetadata(params: BaseParams & any): Promise; /** * This API returns the configuration data for a specified RP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.getRP+REST */ getRP(params: BaseParams & any): Promise; /** * This API Returns all the currently registered RPs for the OP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.getRPs+REST */ getRPs(params: BaseParams & any): Promise; /** * This API initiates the OP  functionality for your site. The configuration of the OP is relevant to all of the site's RPs. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.setConfig+REST */ setConfig(params: BaseParams & any): Promise; /** * This API updates the configuration of an existing RP  configured on the OP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.op.updateRP+REST */ updateRP(params: BaseParams & any): Promise; } declare class FidmOidcRp { protected gigya: Gigya; constructor(gigya: Gigya); /** * This API registers and configures a new OP for the RP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.rp.createOP+REST */ createOP(params: BaseParams & FidmOidcRpCreateOPParams): Promise; /** * This API deletes the specified OP from the RP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.rp.delOP+REST */ delOP(params: BaseParams & FidmOidcRpDelOPParams): Promise; /** * This API returns the configuration data for a specified OP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.rp.getOP+REST */ getOP(params: BaseParams & FidmOidcRpGetOPParams): Promise; /** * This API returns all the currently registered OPs for RP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.rp.getOPs+REST */ getOPs(params?: BaseParams): Promise; /** * This API updates the configuration of an existing OP  configured on the RP. * * @see http://developers.gigya.com/display/GD/fidm.oidc.rp.updateOP+REST */ updateOP(params: BaseParams & any): Promise; } interface OpenIDProviderBasic { providerName: string; authorizeEndpoint: string; } interface OpenIDProvider extends OpenIDProviderBasic { clientID: string; clientSecret: string; tokenEndpoint: string; userInfoEndpoint: string; scopes: string; issuer: string; jwks: string; } interface FidmOidcRpCreateOPParams extends OpenIDProvider { } interface FidmOidcRpDelOPParams { providerName: string; } interface FidmOidcRpGetOPParams { providerName: string; } interface FidmOidcRpGetOPResponse extends OpenIDProvider { } interface FidmOidcRpGetOPsResponse { OPs: Array; } interface FidmOidcRpUpdateOPParams { providerName: string; authorizeEndpoint?: string; clientID?: string; clientSecret?: string; tokenEndpoint?: string; userInfoEndpoint?: string; scopes?: string; issuer?: string; jwks?: string; } declare class FidmOidc { protected gigya: Gigya; readonly op: FidmOidcOp; readonly rp: FidmOidcRp; constructor(gigya: Gigya); } declare class FidmSamlIdp { protected gigya: Gigya; constructor(gigya: Gigya); /** * This API deletes a SAML Identity Provider (IdP). * * @see http://developers.gigya.com/display/GD/fidm.saml.idp.delIdP+REST */ delIdP(params: BaseParams & any): Promise; /** * This API retrieves the Gigya site configuration for SAML. * * @see http://developers.gigya.com/display/GD/fidm.saml.idp.getConfig+REST */ getConfig(params: BaseParams & any): Promise; /** * This API retrieves all the SAML IdP configuration objects that are defined for the site. * * @see http://developers.gigya.com/display/GD/fidm.saml.idp.getRegisteredIdPs+REST */ getRegisteredIdPs(params: BaseParams & any): Promise; /** * This API imports a SAML Identity Provider (IdP) configuration from a SAML metadata XML. * * @see http://developers.gigya.com/display/GD/fidm.saml.idp.importIdPMetadata+REST */ importIdPMetadata(params: BaseParams & any): Promise; /** * This API updates or registers a SAML configuration for a specific Identity Provider (IdP). * * @see http://developers.gigya.com/display/GD/fidm.saml.idp.registerIdP+REST */ registerIdP(params: BaseParams & any): Promise; /** * This API updates the Gigya SAML site configuration. * * @see http://developers.gigya.com/display/GD/fidm.saml.idp.setConfig+REST */ setConfig(params: BaseParams & any): Promise; } declare class FidmSaml { protected gigya: Gigya; readonly idp: FidmSamlIdp; constructor(gigya: Gigya); /** * This API deletes a SAML Identity Provider (IdP). * * @see http://developers.gigya.com/display/GD/fidm.saml.delIdP+REST */ delIdP(params: BaseParams & FidmSamlDelIdPParams): Promise; /** * This API retrieves the Gigya site configuration for SAML. * * @see http://developers.gigya.com/display/GD/fidm.saml.getConfig+REST */ getConfig(params: BaseParams & FidmSamlGetConfigParams): Promise; /** * This API retrieves all the SAML IdP configuration objects that are defined for the site. * * @see http://developers.gigya.com/display/GD/fidm.saml.getRegisteredIdPs+REST */ getRegisteredIdPs(params?: BaseParams): Promise; /** * This API imports a SAML Identity Provider (IdP) configuration from a SAML metadata XML. * * @see http://developers.gigya.com/display/GD/fidm.saml.importIdPMetadata+REST */ importIdPMetadata(params: BaseParams & FidmSamlImportIdPMetadataParams): Promise; /** * This API updates or registers a SAML configuration for a specific Identity Provider (IdP). * * @see http://developers.gigya.com/display/GD/fidm.saml.registerIdP+REST */ registerIdP(params: BaseParams & FidmSamlRegisterIdPParams): Promise; /** * This API updates the Gigya SAML site configuration. * * @see http://developers.gigya.com/display/GD/fidm.saml.setConfig+REST */ setConfig(params: BaseParams & FidmSamlSetConfigParams): Promise; } interface FidmSamlDelIdPParams { name: string; } interface FidmSamlGetConfigParams { idpName?: string; } interface FidmSamlGetConfigResponse { config: GigyaSamlConfig; } interface FidmSamlGetRegisteredIdPsResponse { configs: Array; } interface FidmSamlImportIdPMetadataParams { metadata?: string; url?: string; saveConfiguration?: boolean; name?: string; } interface FidmSamlImportIdPMetadataResponse { config: ExternalIdP; } interface FidmSamlRegisterIdPParams { config: ExternalIdP; } interface FidmSamlSetConfigParams { config: GigyaSamlConfig; } declare class Fidm { protected gigya: Gigya; readonly oidc: FidmOidc; readonly saml: FidmSaml; constructor(gigya: Gigya); } declare class IDX { protected gigya: Gigya; constructor(gigya: Gigya); /** * The method creates a single dataflow and saves it in the system. * * @see http://developers.gigya.com/display/GD/idx.createDataflow+REST */ createDataflow(params: BaseParams & any): Promise; /** * The method retrieves a dataflow by ID. * * @see http://developers.gigya.com/display/GD/idx.getDataflow+REST */ getDataflow(params: BaseParams & any): Promise; /** * This method modifies an existing dataflow. * * @see http://developers.gigya.com/display/GD/idx.setDataflow+REST */ setDataflow(params: BaseParams & any): Promise; /** * The method deletes a Dataflow by ID. * * @see http://developers.gigya.com/display/GD/idx.deleteDataflow+REST */ deleteDataflow(params: BaseParams & IDXDeleteDataflowParams): Promise; /** * The method schedules a dataflow to execute. * * @see http://developers.gigya.com/display/GD/idx.createScheduling+REST */ createScheduling(params: BaseParams & any): Promise; /** * The method retrieves a scheduling. * * @see http://developers.gigya.com/display/GD/idx.getScheduling+REST */ getScheduling(params: BaseParams & any): Promise; /** * The method modifies an existing scheduling. * * @see http://developers.gigya.com/display/GD/idx.setScheduling+REST */ setScheduling(params: BaseParams & any): Promise; /** * The method deletes a scheduling. * * @see http://developers.gigya.com/display/GD/idx.deleteScheduling+REST */ deleteScheduling(params: BaseParams & IDXDeleteSchedulingParams): Promise; /** * Searches and retrieves data from the ETL service using an SQL-like query. * * @see http://developers.gigya.com/display/GD/idx.search+REST */ search(params: BaseParams & IDXSearchParams): Promise; } interface IDXDeleteDataflowParams { id: string; } interface IDXDeleteSchedulingParams { id: string; } interface IDXSearchParams { query: string; openCursor?: boolean; cursorId?: string; } interface IDXSearchResponse { resultCount: number; totalCount: number; result: Array; } declare class Reports { protected gigya: Gigya; constructor(gigya: Gigya); /** * This API retrieves Gigya's Accounts statistics. * * @see http://developers.gigya.com/display/GD/reports.getAccountsStats+REST */ getAccountsStats(params: BaseParams & any): Promise; /** * This API retrieves Gigya's comments statistics. * * @see http://developers.gigya.com/display/GD/reports.getCommentsStats+REST */ getCommentsStats(params: BaseParams & any): Promise; /** * This method retrieves the current total redeemable points across your user base, per challenge. * * @see http://developers.gigya.com/display/GD/reports.getGMRedeemablePoints+REST */ getGMRedeemablePoints(params: BaseParams & any): Promise; /** * This API retrieves Gigya's Game Mechanics statistics. * * @see http://developers.gigya.com/display/GD/reports.getGMStats+REST */ getGMStats(params: BaseParams & any): Promise; /** * This API retrieves the top Game Mechanics users. * * @see http://developers.gigya.com/display/GD/reports.getGMTopUsers+REST */ getGMTopUsers(params: BaseParams & any): Promise; /** * This API retrieves the Gamification challenges and the number of users who participate in each challenge. * * @see http://developers.gigya.com/display/GD/reports.getGMUserStats+REST */ getGMUserStats(params: BaseParams & any): Promise; /** * This API retrieves the top influencers for the site. * * @see http://developers.gigya.com/display/GD/reports.getIRank+REST */ getIRank(params: BaseParams & any): Promise; /** * This API retrieves Gigya's reactions statistics. * * @see http://developers.gigya.com/display/GD/reports.getReactionsStats+REST */ getReactionsStats(params: BaseParams & any): Promise; /** * This API retrieves Gigya's reporting data. * * @see http://developers.gigya.com/display/GD/reports.getSocializeStats+REST */ getSocializeStats(params: BaseParams & any): Promise; } declare class Socialize { protected gigya: Gigya; constructor(gigya: Gigya); /** * This API deletes the specified user's account from Gigya's database. * * @see http://developers.gigya.com/display/GD/socialize.deleteAccount+REST */ deleteAccount(params: BaseParams & any): Promise; /** * Utility API for deleting user's settings in Gigya's database. * * @see http://developers.gigya.com/display/GD/socialize.delUserSettings+REST */ delUserSettings(params: BaseParams & any): Promise; /** * This API allows sites integrating 3rd party plugins to validate the UID of a logged-in user. * * @see http://developers.gigya.com/display/GD/socialize.exchangeUIDSignature+REST */ exchangeUIDSignature(params: BaseParams & any): Promise; /** * A generic method for making calls to the Facebook Graph API. * * @see http://developers.gigya.com/display/GD/socialize.facebookGraphOperation+REST */ facebookGraphOperation(params: BaseParams & any): Promise; /** * Returns the list of email contacts of the current user, from all the providers that support retrieving contacts. * * @see http://developers.gigya.com/display/GD/socialize.getContacts+REST */ getContacts(params: BaseParams & any): Promise; /** * Returns information about friends of the current user. * * @see http://developers.gigya.com/display/GD/socialize.getFriendsInfo+REST */ getFriendsInfo(params: BaseParams & any): Promise; /** * Enables retrieving raw data directly from the provider. * * @see http://developers.gigya.com/display/GD/socialize.getRawData+REST */ getRawData(params: BaseParams & any): Promise; /** * The method retrieves the number of times certain reaction buttons were clicked. * * @see http://developers.gigya.com/display/GD/socialize.getReactionsCount+REST */ getReactionsCount(params: BaseParams & any): Promise; /** * Returns the session information required for making direct API calls to the providers. * * @see http://developers.gigya.com/display/GD/socialize.getSessionInfo+REST */ getSessionInfo(params: BaseParams & any): Promise; /** * This method allows you to see the content (URLs) most shared on a site in the recent defined time period (up to 7 days). * * @see http://developers.gigya.com/display/GD/socialize.getTopShares+REST */ getTopShares(params: BaseParams & any): Promise; /** * This method retrieves extended information regarding a user. * * @see http://developers.gigya.com/display/GD/socialize.getUserInfo+REST */ getUserInfo(params: BaseParams & any): Promise; /** * Utility method for retrieving user's settings from Gigya's database. * * @see http://developers.gigya.com/display/GD/socialize.getUserSettings+REST */ getUserSettings(params: BaseParams & any): Promise; /** * This method enables you to import a social user into Gigya. * * @see http://developers.gigya.com/display/GD/socialize.importIdentities+REST */ importIdentities(params: BaseParams & any): Promise; /** * This method increments or reduces by one the counter of a given reaction button in a specified reactions bar. * * @see http://developers.gigya.com/display/GD/socialize.incrementReactionsCount+REST */ incrementReactionsCount(params: BaseParams & any): Promise; /** * This method logs the current user out of Gigya's Platform. * * @see http://developers.gigya.com/display/GD/socialize.logout+REST */ logout(params: BaseParams & any): Promise; /** * The socialize.notifyLogin API method notifies the Gigya service that the user has been logged in by the site. * * @see http://developers.gigya.com/display/GD/socialize.notifyLogin+REST */ notifyLogin(params: BaseParams & (SocializeNotifyLoginParamsSiteUID | SocializeNotifyLoginParamsProviderSessions)): Promise; /** * This method notifies the Gigya service that the user has completed the registration process at your site. * * @see http://developers.gigya.com/display/GD/socialize.notifyRegistration+REST */ notifyRegistration(params: BaseParams & any): Promise; /** * Publishes a user action to the newsfeed of all the connected providers. * * @see http://developers.gigya.com/display/GD/socialize.publishUserAction+REST */ publishUserAction(params: BaseParams & any): Promise; /** * Disconnects the current user from one or all of the connected providers. * * @see http://developers.gigya.com/display/GD/socialize.removeConnection+REST */ removeConnection(params: BaseParams & any): Promise; /** * This method sets the user's status in social networks that support this feature. * * @see http://developers.gigya.com/display/GD/socialize.setStatus+REST */ setStatus(params: BaseParams & any): Promise; /** * This method replaces the Gigya UID in the user account on Gigya's DB, with a site user ID that you provide. * * @see http://developers.gigya.com/display/GD/socialize.setUID+REST */ setUID(params: BaseParams & any): Promise; /** * This method updates a user's site information. * * @see http://developers.gigya.com/display/GD/socialize.setUserInfo+REST */ setUserInfo(params: BaseParams & any): Promise; /** * Utility method for storing the current user's settings in Gigya's database. * * @see http://developers.gigya.com/display/GD/socialize.setUserSettings+REST */ setUserSettings(params: BaseParams & any): Promise; /** * This utility method provides access to a URL shortening service. * * @see http://developers.gigya.com/display/GD/socialize.shortenURL+REST */ shortenURL(params: BaseParams & SocializeShortenURLParams): Promise; } interface SocializeNotifyLoginParamsBase { siteUID?: string; providerSessions?: { [key: string]: any; }; actionAttributes?: { [key: string]: string; }; cid?: string; newUser?: boolean; regSource?: string; sessionExpiration?: SessionExpiration; targetEnv?: TargetEnv; userInfo?: { firstName?: string; lastName?: string; gender?: Gender; photoURL?: string; thumbnailURL?: string; nickname?: string; age?: number; }; } interface SocializeNotifyLoginParamsSiteUID extends SocializeNotifyLoginParamsBase { siteUID: string; } interface SocializeNotifyLoginParamsProviderSessions extends SocializeNotifyLoginParamsBase { providerSessions: { [key: string]: any; }; } interface SocializeNotifyLoginResponse { UID: string; UIDSignature: string; signatureTimestamp: string; cookieName?: string; cookieValue?: string; cookieDomain?: string; cookiePath?: '/'; sessionToken?: string; sessionSecret?: string; regToken?: string; } interface SocializeShortenURLParams { url: string; cid?: string; } interface SocializeShortenURLResponse { shortURL: string; } interface FormatJsonRequest { format: 'json'; } interface SignedRequestParams { timestamp: number; nonce: number; sig: string; } type RequestParams = FormatJsonRequest & Partial & { [key: string]: string | null | number | boolean; }; type CredentialsType = NoCredentials | { secret: PartnerSecret; } | SecretCredentials | RSACredentials; declare class Gigya { protected _dataCenter: DataCenter; protected static readonly RATE_LIMIT_SLEEP = 2000; protected static readonly RETRY_LIMIT = 5; protected static readonly RETRY_DELAY = 5000; protected _apiKey: string | undefined; protected httpRequest: ProxyHttpRequest; readonly sigUtils: SigUtils; readonly admin: Admin; readonly audit: Audit; readonly socialize: Socialize; readonly accounts: Accounts; readonly ds: DS; readonly fidm: Fidm; readonly reports: Reports; readonly idx: IDX; protected _signer: ISigner | undefined; protected _fetchAgent: Agent | undefined; /** * Initialize new instance of Gigya. */ constructor(); constructor(proxyHttpRequest: ProxyHttpRequest); constructor(apiKey: string, dataCenter: DataCenter, proxy?: ProxyHttpRequest); constructor(apiKey: string, dataCenter: DataCenter, secret: string); constructor(apiKey: string, dataCenter: DataCenter, userKey: string, secret?: string); constructor(apiKey: string, dataCenter: DataCenter, credentials: RSACredentials); setCredentials(credentials: CredentialsType): this; protected getSigner(credentials: CredentialsType): ISigner | null; setFetchAgent(fetchAgent?: Agent): void; /** * Make request to Gigya. Typically, you'll want to use the defined interface (for example gigya.accounts.getAccountInfo) instead of calling request directly. * * If a method is not available, create an issue or pull request at: https://github.com/scotthovestadt/gigya */ request(endpoint: string, userParams?: any): Promise; /** * Internal handler for requests. */ protected _request(endpoint: string, userParams: BaseParams & { [key: string]: any; }, retries?: number): Promise; protected createRequestSignature(secret: string, uri: string, requestParams: RequestParams): string; /** * Create GigyaError from response. */ protected createErrorFromResponse(response: GigyaResponse, endpoint: string, params: BaseParams & Object): GigyaError; } export { type InviteMemberResponse as $, type Asset as A, type GetOrganizationInfoResponse as B, type CredentialsType as C, type DeleteBusinessEntityParams as D, type SetOrganizationInfoParams as E, type FormatJsonRequest as F, Gigya as G, type OrganizationGeneral as H, type GetOrganizationSchemaResponse as I, type Requester as J, type RegisterOrganizationParams as K, type RegisterOrganizationResponse as L, type DeleteOrganizationParams as M, type SetOrganizationBpidParams as N, type OrganizationAddress as O, type SetOrganizationBpidResponse as P, type SetOrganizationWorkflowStatusParams as Q, type RequestParams as R, type SignedRequestParams as S, type GetAccountOrganizationInfoParams as T, type UpdateBusinessEntityParams as U, type Policy as V, type GetAccountOrganizationInfoResponse as W, type SetAccountOrganizationInfoParams as X, type MembershipStatus as Y, type Role as Z, type InviteMemberParams as _, type GetAssetsResponse as a, type AccountsGetConsentsStatementsResponse as a$, type RemoveMemberParams as a0, type SearchParams as a1, type SearchResponse as a2, B2B as a3, type BootstrapParams as a4, type BootstrapResponse as a5, AccountsB2bSetup as a6, type GetAllParams as a7, WebhookEvents as a8, type GetAllResponse as a9, type GroupsSearchParams as aA, type GroupsSearchRelationshipResult as aB, type GroupsSearchGroupsResult as aC, type GroupsSearchCountResult as aD, type GroupsSearchResultType as aE, type GroupsSearchResponse as aF, type SearchGroupMembersParams as aG, type SearchGroupMembersResponse as aH, type GroupsCreateModelParams as aI, type GroupsSetSiteConfigParams as aJ, Groups as aK, type Model as aL, Accounts as aM, type AccountsDeleteAccountParams as aN, type AccountsDeleteScreenSetParams as aO, type AccountsExchangeUIDSignatureParams as aP, type AccountsExchangeUIDSignatureResponse as aQ, type AccountsFinalizeRegistrationParams as aR, AccountInfoIncludes as aS, type AccountInfoInclude as aT, AccountInfoExtraProfileFields as aU, AccountInfoCommunicationsInclude as aV, type AutoComplete as aW, type StringList as aX, type AccountsGetAccountInfoParams as aY, type AccountsGetConflictingAccountParams as aZ, type AccountsGetConflictingAccountResponse as a_, AccountsB2bWebhooks as aa, type GetTopicSettingsResponse as ab, type CommunicationSetting as ac, type SetTopicSettings as ad, type DeleteTopicSettings as ae, type GetChannelsResponse as af, type SetChannelsParams as ag, type DeleteChannelsParams as ah, Communication as ai, type GroupsDeleteSchemaFieldParams as aj, type GroupsGetSchemaParams as ak, type SchemaAttributeDefinition as al, type DataSchema as am, type SchemaType as an, type GroupsGetSchemaResponse as ao, type GroupsSetSchemaParams as ap, type GroupsDeleteGroupParams as aq, type GroupsGetGroupInfoParams as ar, type GroupsGetGroupInfoResponse as as, type GroupsRegisterGroupParams as at, type GroupsSetGroupInfoParams as au, type GroupsAssignGroupMemberParams as av, type GroupsRemoveMemberParams as aw, type GroupsSetGroupMemberInfoParams as ax, type GroupsGetSiteConfigResponse as ay, type QueryType as az, type GetAssetsParams as b, type AuthMethods as b$, type AccountsGetLegalStatementsParams as b0, type AccountsGetLegalStatementsResponse as b1, type AccountsGetCountersParams as b2, type AccountsGetCountersResponse as b3, type AccountsGetJWTPublicKeyParams as b4, type AccountsGetJWTPublicKeyResponse as b5, type AccountsGetJWTParams as b6, type AccountsGetJWTResponse as b7, type AccountsGetPoliciesParams as b8, type AccountsGetPoliciesResponse as b9, type AccountsNotifyLoginParamsSiteUID as bA, type AccountsNotifyLoginParamsProviderSessions as bB, type AccountsSchemaWriteAccess as bC, type AccountsSchemaType as bD, type AccountsSchemaEncrypt as bE, type AccountsSetSchemaParams as bF, type AccountsProfileSetSchemaField as bG, type AccountsDataSetSchemaField as bH, type AccountsSubscriptionSetSchemaField as bI, type AccountsPreferencesSetSchemaField as bJ, SchemaIncludes as bK, type AccountsGetSchemaParams as bL, type AccountsGetSchemaResponse as bM, type AccountsGetSchemaField as bN, type AccountsPreferencesGetSchemaField as bO, type ScreenSet as bP, type AccountsGetScreenSetsParams as bQ, type AccountsGetScreenSetsResponse as bR, type AccountsGetSiteConsentDetailsParams as bS, type AccountsGetSiteConsentDetailsResponse as bT, type ScreenSetVersion as bU, type AccountsGetScreenSetVersionsParams as bV, type AccountsGetScreenSetVersionsResponse as bW, type AccountsIsAvailableLoginIDParams as bX, type AccountsIsAvailableLoginIDResponse as bY, type AccountsSetScreenSetParams as bZ, type AccountsUnregisterCountersParams as b_, type AccountsSetPoliciesParams as ba, type AccountsGetRegisteredCountersResponse as bb, type AccountsSetAccountInfoParams as bc, type AccountsSetConsentsStatementsParams as bd, type AccountsSetLegalStatementsParams as be, type AccountsImportFullAccountParams as bf, type AccountsImportFullAccountResponse as bg, type AccountsImportLiteAccountParams as bh, type AccountsImportLiteAccountResponse as bi, type AccountsImportProfilePhotoParams as bj, type AccountsIncrementCountersParams as bk, type AccountsInitRegistrationResponse as bl, type AccountsLinkAccountsParams as bm, type AccountsPublishProfilePhotoParams as bn, type AccountsRegisterCountersParams as bo, type AccountsRegisterParams as bp, type AccountsResendVerificationCodeParams as bq, type AccountsResendDOIConfirmationEmail as br, type AccountsResetPasswordParams as bs, type AccountsResetPasswordResponse as bt, type AccountsSearchParams as bu, type AccountsSearchResponse as bv, type AccountsSetProfilePhotoParams as bw, type AccountsLoginParams as bx, type AccountsLogoutParams as by, type AccountsNotifyLoginParams as bz, type GetPoliciesParams as c, type IDXDeleteSchedulingParams as c$, type GetLiteTokenParams as c0, type GetLiteTokenResponse as c1, RBA as c2, Webhooks as c3, type WebhooksEvents as c4, type Webhook as c5, type WebhooksDeleteParams as c6, type WebhooksGetAllParams as c7, type WebhooksGetAllResponse as c8, type WebhooksSetParams as c9, type DSStoreUpdateBehavior as cA, type DSStoreParams as cB, type DSStoreResponse as cC, Fidm as cD, FidmOidc as cE, FidmOidcOp as cF, FidmOidcRp as cG, type OpenIDProviderBasic as cH, type OpenIDProvider as cI, type FidmOidcRpCreateOPParams as cJ, type FidmOidcRpDelOPParams as cK, type FidmOidcRpGetOPParams as cL, type FidmOidcRpGetOPResponse as cM, type FidmOidcRpGetOPsResponse as cN, type FidmOidcRpUpdateOPParams as cO, FidmSaml as cP, type FidmSamlDelIdPParams as cQ, type FidmSamlGetConfigParams as cR, type FidmSamlGetConfigResponse as cS, type FidmSamlGetRegisteredIdPsResponse as cT, type FidmSamlImportIdPMetadataParams as cU, type FidmSamlImportIdPMetadataResponse as cV, type FidmSamlRegisterIdPParams as cW, type FidmSamlSetConfigParams as cX, FidmSamlIdp as cY, IDX as cZ, type IDXDeleteDataflowParams as c_, Admin as ca, type AdminCreateSiteParams as cb, type AdminCreateSiteResponse as cc, type AdminGetEffectiveACLTargetUserKeyParams as cd, type AdminGetEffectiveACLGroupIDsParams as ce, type AdminGetEffectiveACLResponse as cf, type AdminSetAclParams as cg, type AdminServices as ch, type AdminGetPartnerParams as ci, type AdminGetPartnerResponse as cj, type AdminUserSite as ck, type AdminGetUserSitesParams as cl, type AdminGetUserSitesResponse as cm, type AdminGetSiteConfigParams as cn, type AdminGetSiteConfigResponse as co, type AdminSetSiteConfigParams as cp, type AdminSearchParams as cq, type AdminSearchResponse as cr, type AdminDeleteSiteParams as cs, type AdminUpdatePartnerParams as ct, DS as cu, type DSObject as cv, type DSDeleteParams as cw, type DSGetParams as cx, type DSSearchParams as cy, type DSSearchResponse as cz, type GetPoliciesResponse as d, type IDXSearchParams as d0, type IDXSearchResponse as d1, Reports as d2, Socialize as d3, type SocializeNotifyLoginParamsBase as d4, type SocializeNotifyLoginParamsSiteUID as d5, type SocializeNotifyLoginParamsProviderSessions as d6, type SocializeNotifyLoginResponse as d7, type SocializeShortenURLParams as d8, type SocializeShortenURLResponse as d9, type GetAuthMethodsParams as da, type GetAuthMethodsResponse as db, Auth as dc, Audit as dd, type AuditSearchParams as de, type AuditSearchResponse as df, AccountsB2bAuth as e, type CreateBusinessEntityParams as f, type GetBusinessEntityParams as g, type CreateBusinessEntityTypeParams as h, type DeleteBusinessEntityTypeParams as i, type GetBusinessEntityTypeParams as j, type UpdateBusinessEntityTypeParams as k, type CreateBusinessEntityCatalogParams as l, type DeleteBusinessEntityCatalogParams as m, type GetBusinessEntityCatalogParams as n, type UpdateBusinessEntityCatalogParams as o, type CreateBusinessModelParams as p, type DeleteBusinessModelParams as q, type GetBusinessModelParams as r, type UpdateBusinessModelParams as s, type GetBusinessModelResponse as t, type UpdateBusinessModelResponse as u, type CreateTargetAudienceParams as v, type DeleteTargetAudienceParams as w, type GetTargetAudienceParams as x, type UpdateTargetAudienceParams as y, type GetOrganizationInfoParams as z };