import { type Client } from '../../../../seam/connect/client.js'; import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from '../../../../seam/connect/options.js'; import type { AcsEntrance } from '../../../../seam/connect/resources/acs-entrance.js'; import type { AcsSystem } from '../../../../seam/connect/resources/acs-system.js'; import type { AcsUser } from '../../../../seam/connect/resources/acs-user.js'; import type { Device } from '../../../../seam/connect/resources/device.js'; import type { InstantKey } from '../../../../seam/connect/resources/instant-key.js'; import type { UserIdentity } from '../../../../seam/connect/resources/user-identity.js'; import { SeamHttpRequest } from '../../../../seam/connect/seam-http-request.js'; import { SeamPaginator } from '../../../../seam/connect/seam-paginator.js'; import { SeamHttpUserIdentitiesUnmanaged } from './unmanaged/index.js'; export declare class SeamHttpUserIdentities { client: Client; readonly defaults: Required; readonly ltsVersion = "1.0.0"; static ltsVersion: string; constructor(apiKeyOrOptions?: string | SeamHttpOptions); static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit): SeamHttpUserIdentities; static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit): SeamHttpUserIdentities; static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit): SeamHttpUserIdentities; static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise; static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit): SeamHttpUserIdentities; static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit): SeamHttpUserIdentities; createPaginator(request: SeamHttpRequest): SeamPaginator; updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise; get unmanaged(): SeamHttpUserIdentitiesUnmanaged; /** * Adds a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). * * You must specify either `user_identity_id` or `user_identity_key` to identify the user identity. * * If `user_identity_key` is provided, but the user identity doesn't exist, a new user identity will be created automatically using information from the ACS user. */ addAcsUser(parameters: UserIdentitiesAddAcsUserParameters, options?: UserIdentitiesAddAcsUserOptions): UserIdentitiesAddAcsUserRequest; /** * Creates a new [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ create(parameters?: UserIdentitiesCreateParameters, options?: UserIdentitiesCreateOptions): UserIdentitiesCreateRequest; /** * Deletes a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This deletes the user identity and all associated resources, including any [credentials](https://docs.seam.co/api/acs/credentials), [acs users](https://docs.seam.co/api/acs/users) and [client sessions](https://docs.seam.co/api/client_sessions). */ delete(parameters: UserIdentitiesDeleteParameters, options?: UserIdentitiesDeleteOptions): UserIdentitiesDeleteRequest; /** * Generates a new [instant key](https://docs.seam.co/capability-guides/instant-keys) for a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ generateInstantKey(parameters: UserIdentitiesGenerateInstantKeyParameters, options?: UserIdentitiesGenerateInstantKeyOptions): UserIdentitiesGenerateInstantKeyRequest; /** * Returns a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get(parameters?: UserIdentitiesGetParameters, options?: UserIdentitiesGetOptions): UserIdentitiesGetRequest; /** * Grants a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) access to a specified [device](https://docs.seam.co/core-concepts/devices/). */ grantAccessToDevice(parameters: UserIdentitiesGrantAccessToDeviceParameters, options?: UserIdentitiesGrantAccessToDeviceOptions): UserIdentitiesGrantAccessToDeviceRequest; /** * Returns a list of all [user identities](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ list(parameters?: UserIdentitiesListParameters, options?: UserIdentitiesListOptions): UserIdentitiesListRequest; /** * Returns a list of all [devices](https://docs.seam.co/core-concepts/devices) associated with a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This includes devices derived from the access grants assigned to the user identity and devices directly linked to the user identity. */ listAccessibleDevices(parameters: UserIdentitiesListAccessibleDevicesParameters, options?: UserIdentitiesListAccessibleDevicesOptions): UserIdentitiesListAccessibleDevicesRequest; /** * Returns a list of all [ACS entrances](https://docs.seam.co/api/acs/entrances) accessible to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This includes entrances derived from the access grants assigned to the user identity and entrances accessible through ACS users linked to the user identity. */ listAccessibleEntrances(parameters: UserIdentitiesListAccessibleEntrancesParameters, options?: UserIdentitiesListAccessibleEntrancesOptions): UserIdentitiesListAccessibleEntrancesRequest; /** * Returns a list of all [access systems](https://docs.seam.co/low-level-apis/access-systems) associated with a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ listAcsSystems(parameters: UserIdentitiesListAcsSystemsParameters, options?: UserIdentitiesListAcsSystemsOptions): UserIdentitiesListAcsSystemsRequest; /** * Returns a list of all [access system users](https://docs.seam.co/low-level-apis/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ listAcsUsers(parameters: UserIdentitiesListAcsUsersParameters, options?: UserIdentitiesListAcsUsersOptions): UserIdentitiesListAcsUsersRequest; /** * Removes a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) from a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ removeAcsUser(parameters: UserIdentitiesRemoveAcsUserParameters, options?: UserIdentitiesRemoveAcsUserOptions): UserIdentitiesRemoveAcsUserRequest; /** * Revokes access to a specified [device](https://docs.seam.co/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ revokeAccessToDevice(parameters: UserIdentitiesRevokeAccessToDeviceParameters, options?: UserIdentitiesRevokeAccessToDeviceOptions): UserIdentitiesRevokeAccessToDeviceRequest; /** * Updates a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ update(parameters: UserIdentitiesUpdateParameters, options?: UserIdentitiesUpdateOptions): UserIdentitiesUpdateRequest; } export type UserIdentitiesAddAcsUserParameters = { /** * ID of the access system user that you want to add to the user identity. */ acs_user_id: string; /** * ID of the user identity to which you want to add an access system user. */ user_identity_id?: string | undefined; /** * Key of the user identity to which you want to add an access system user. */ user_identity_key?: string | undefined; }; /** * @deprecated Use UserIdentitiesAddAcsUserRequest instead. */ export type UserIdentitiesAddAcsUserResponse = void; export type UserIdentitiesAddAcsUserRequest = SeamHttpRequest; export interface UserIdentitiesAddAcsUserOptions { } export type UserIdentitiesCreateParameters = { /** * List of access system IDs to associate with the new user identity through access system users. If there's no user with the same email address or phone number in the specified access systems, a new access system user is created. If there is an existing user with the same email or phone number in the specified access systems, the user is linked to the user identity. */ acs_system_ids?: Array | undefined; /** * Unique email address for the new user identity. */ email_address?: string | undefined; /** * Full name of the user associated with the new user identity. */ full_name?: string | undefined; /** * Unique phone number for the new user identity in E.164 format (for example, +15555550100). */ phone_number?: string | undefined; /** * Unique key for the new user identity. */ user_identity_key?: string | undefined; }; /** * @deprecated Use UserIdentitiesCreateRequest instead. */ export type UserIdentitiesCreateResponse = { user_identity: UserIdentity; }; export type UserIdentitiesCreateRequest = SeamHttpRequest; export interface UserIdentitiesCreateOptions { } export type UserIdentitiesDeleteParameters = { /** * ID of the user identity that you want to delete. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesDeleteRequest instead. */ export type UserIdentitiesDeleteResponse = void; export type UserIdentitiesDeleteRequest = SeamHttpRequest; export interface UserIdentitiesDeleteOptions { } export type UserIdentitiesGenerateInstantKeyParameters = { customization_profile_id?: string | undefined; /** * Maximum number of times the instant key can be used. Default: 1. */ max_use_count?: number | undefined; /** * ID of the user identity for which you want to generate an instant key. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesGenerateInstantKeyRequest instead. */ export type UserIdentitiesGenerateInstantKeyResponse = { instant_key: InstantKey; }; export type UserIdentitiesGenerateInstantKeyRequest = SeamHttpRequest; export interface UserIdentitiesGenerateInstantKeyOptions { } export type UserIdentitiesGetParameters = { /** * ID of the user identity that you want to get. */ user_identity_id?: string | undefined; user_identity_key?: string | undefined; }; /** * @deprecated Use UserIdentitiesGetRequest instead. */ export type UserIdentitiesGetResponse = { user_identity: UserIdentity; }; export type UserIdentitiesGetRequest = SeamHttpRequest; export interface UserIdentitiesGetOptions { } export type UserIdentitiesGrantAccessToDeviceParameters = { /** * ID of the managed device to which you want to grant access to the user identity. */ device_id: string; /** * ID of the user identity that you want to grant access to a device. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesGrantAccessToDeviceRequest instead. */ export type UserIdentitiesGrantAccessToDeviceResponse = void; export type UserIdentitiesGrantAccessToDeviceRequest = SeamHttpRequest; export interface UserIdentitiesGrantAccessToDeviceOptions { } export type UserIdentitiesListParameters = { /** * Timestamp by which to limit returned user identities. Returns user identities created before this timestamp. */ created_before?: string | undefined; /** * `acs_system_id` of the credential manager by which you want to filter the list of user identities. */ credential_manager_acs_system_id?: string | undefined; /** * Maximum number of records to return per page. */ limit?: number | undefined; /** * Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */ page_cursor?: string | undefined; /** * String for which to search. Filters returned user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address` or `user_identity_id`. */ search?: string | undefined; /** * Array of user identity IDs by which to filter the list of user identities. */ user_identity_ids?: Array | undefined; }; /** * @deprecated Use UserIdentitiesListRequest instead. */ export type UserIdentitiesListResponse = { user_identities: Array; }; export type UserIdentitiesListRequest = SeamHttpRequest; export interface UserIdentitiesListOptions { } export type UserIdentitiesListAccessibleDevicesParameters = { /** * ID of the user identity for which you want to retrieve all accessible devices. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesListAccessibleDevicesRequest instead. */ export type UserIdentitiesListAccessibleDevicesResponse = { devices: Array; }; export type UserIdentitiesListAccessibleDevicesRequest = SeamHttpRequest; export interface UserIdentitiesListAccessibleDevicesOptions { } export type UserIdentitiesListAccessibleEntrancesParameters = { /** * ID of the user identity for which you want to retrieve all accessible entrances. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesListAccessibleEntrancesRequest instead. */ export type UserIdentitiesListAccessibleEntrancesResponse = { acs_entrances: Array; }; export type UserIdentitiesListAccessibleEntrancesRequest = SeamHttpRequest; export interface UserIdentitiesListAccessibleEntrancesOptions { } export type UserIdentitiesListAcsSystemsParameters = { /** * ID of the user identity for which you want to retrieve all access systems. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesListAcsSystemsRequest instead. */ export type UserIdentitiesListAcsSystemsResponse = { acs_systems: Array; }; export type UserIdentitiesListAcsSystemsRequest = SeamHttpRequest; export interface UserIdentitiesListAcsSystemsOptions { } export type UserIdentitiesListAcsUsersParameters = { /** * ID of the user identity for which you want to retrieve all access system users. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesListAcsUsersRequest instead. */ export type UserIdentitiesListAcsUsersResponse = { acs_users: Array; }; export type UserIdentitiesListAcsUsersRequest = SeamHttpRequest; export interface UserIdentitiesListAcsUsersOptions { } export type UserIdentitiesRemoveAcsUserParameters = { /** * ID of the access system user that you want to remove from the user identity.. */ acs_user_id: string; /** * ID of the user identity from which you want to remove an access system user. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesRemoveAcsUserRequest instead. */ export type UserIdentitiesRemoveAcsUserResponse = void; export type UserIdentitiesRemoveAcsUserRequest = SeamHttpRequest; export interface UserIdentitiesRemoveAcsUserOptions { } export type UserIdentitiesRevokeAccessToDeviceParameters = { /** * ID of the managed device to which you want to revoke access from the user identity. */ device_id: string; /** * ID of the user identity from which you want to revoke access to a device. */ user_identity_id: string; }; /** * @deprecated Use UserIdentitiesRevokeAccessToDeviceRequest instead. */ export type UserIdentitiesRevokeAccessToDeviceResponse = void; export type UserIdentitiesRevokeAccessToDeviceRequest = SeamHttpRequest; export interface UserIdentitiesRevokeAccessToDeviceOptions { } export type UserIdentitiesUpdateParameters = { /** * Unique email address for the user identity. */ email_address?: string | undefined; /** * Full name of the user associated with the user identity. */ full_name?: string | undefined; /** * Unique phone number for the user identity. */ phone_number?: string | undefined; /** * ID of the user identity that you want to update. */ user_identity_id: string; /** * Unique key for the user identity. */ user_identity_key?: string | undefined; }; /** * @deprecated Use UserIdentitiesUpdateRequest instead. */ export type UserIdentitiesUpdateResponse = void; export type UserIdentitiesUpdateRequest = SeamHttpRequest; export interface UserIdentitiesUpdateOptions { }