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 { AccessMethod } from '../../../../seam/connect/resources/access-method.js'; import type { ActionAttempt } from '../../../../seam/connect/resources/action-attempt.js'; import type { Batch } from '../../../../seam/connect/resources/batch.js'; import { SeamHttpRequest } from '../../../../seam/connect/seam-http-request.js'; import { SeamPaginator } from '../../../../seam/connect/seam-paginator.js'; import { SeamHttpAccessMethodsUnmanaged } from './unmanaged/index.js'; export declare class SeamHttpAccessMethods { client: Client; readonly defaults: Required; readonly ltsVersion = "1.0.0"; static ltsVersion: string; constructor(apiKeyOrOptions?: string | SeamHttpOptions); static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit): SeamHttpAccessMethods; static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit): SeamHttpAccessMethods; static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit): SeamHttpAccessMethods; static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise; static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit): SeamHttpAccessMethods; static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit): SeamHttpAccessMethods; createPaginator(request: SeamHttpRequest): SeamPaginator; updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise; get unmanaged(): SeamHttpAccessMethodsUnmanaged; /** * Assigns a pre-registered card credential, identified by `card_number`, to a card-mode access method. Use this endpoint for access systems that use pre-registered cards, where a physical card must be associated with an access method before it can be used for access. Assigning a card credential also triggers issuance of the access method. */ assignCard(parameters: AccessMethodsAssignCardParameters, options?: AccessMethodsAssignCardOptions): AccessMethodsAssignCardRequest; /** * Deletes an access method. */ delete(parameters?: AccessMethodsDeleteParameters, options?: AccessMethodsDeleteOptions): AccessMethodsDeleteRequest; /** * Encodes an existing access method onto a plastic card placed on the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners). */ encode(parameters: AccessMethodsEncodeParameters, options?: AccessMethodsEncodeOptions): AccessMethodsEncodeRequest; /** * Gets an access method. */ get(parameters: AccessMethodsGetParameters, options?: AccessMethodsGetOptions): AccessMethodsGetRequest; /** * Gets all related resources for one or more Access Methods. */ getRelated(parameters: AccessMethodsGetRelatedParameters, options?: AccessMethodsGetRelatedOptions): AccessMethodsGetRelatedRequest; /** * Lists all access methods, usually filtered by Access Grant. */ list(parameters?: AccessMethodsListParameters, options?: AccessMethodsListOptions): AccessMethodsListRequest; /** * Remotely unlocks a specified [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) using the cloud key credential associated with an access method. Returns an action attempt that tracks the progress of the unlock operation. */ unlockDoor(parameters: AccessMethodsUnlockDoorParameters, options?: AccessMethodsUnlockDoorOptions): AccessMethodsUnlockDoorRequest; } export type AccessMethodsAssignCardParameters = { /** * ID of the `access_method` to assign the credential to. */ access_method_id: string; /** * Card number of the credential to assign. */ card_number: string; }; /** * @deprecated Use AccessMethodsAssignCardRequest instead. */ export type AccessMethodsAssignCardResponse = { action_attempt: ActionAttempt; }; export type AccessMethodsAssignCardRequest = SeamHttpRequest; export type AccessMethodsAssignCardOptions = Pick; export type AccessMethodsDeleteParameters = { /** * ID of access method to delete. */ access_method_id?: string | undefined; /** * ID of access grant whose access methods should be deleted. */ access_grant_id?: string | undefined; /** * Reservation key of the access grant whose access methods should be deleted. */ reservation_key?: string | undefined; }; /** * @deprecated Use AccessMethodsDeleteRequest instead. */ export type AccessMethodsDeleteResponse = void; export type AccessMethodsDeleteRequest = SeamHttpRequest; export interface AccessMethodsDeleteOptions { } export type AccessMethodsEncodeParameters = { /** * ID of the `access_method` to encode onto a card. */ access_method_id: string; /** * ID of the `acs_encoder` to use to encode the `access_method`. */ acs_encoder_id: string; }; /** * @deprecated Use AccessMethodsEncodeRequest instead. */ export type AccessMethodsEncodeResponse = { action_attempt: ActionAttempt; }; export type AccessMethodsEncodeRequest = SeamHttpRequest; export type AccessMethodsEncodeOptions = Pick; export type AccessMethodsGetParameters = { /** * ID of access method to get. */ access_method_id: string; }; /** * @deprecated Use AccessMethodsGetRequest instead. */ export type AccessMethodsGetResponse = { access_method: AccessMethod; }; export type AccessMethodsGetRequest = SeamHttpRequest; export interface AccessMethodsGetOptions { } export type AccessMethodsGetRelatedParameters = { /** * IDs of the access methods that you want to get along with their related resources. */ access_method_ids: Array; exclude?: Array<'spaces' | 'devices' | 'acs_entrances' | 'access_grants' | 'access_methods' | 'instant_keys' | 'client_sessions' | 'acs_credentials'> | undefined; include?: Array<'spaces' | 'devices' | 'acs_entrances' | 'access_grants' | 'access_methods' | 'instant_keys' | 'client_sessions' | 'acs_credentials'> | undefined; }; /** * @deprecated Use AccessMethodsGetRelatedRequest instead. */ export type AccessMethodsGetRelatedResponse = { batch: Batch<'spaces' | 'devices' | 'acs_entrances' | 'access_grants' | 'access_methods' | 'instant_keys' | 'client_sessions' | 'acs_credentials'>; }; export type AccessMethodsGetRelatedRequest = SeamHttpRequest; export interface AccessMethodsGetRelatedOptions { } export type AccessMethodsListParameters = { /** * ID of the access code by which to filter the returned access methods. Must be combined with `access_grant_id`, `access_grant_key`, or `acs_entrance_id`. */ access_code_id?: string | undefined; /** * ID of Access Grant to list access methods for. */ access_grant_id?: string | undefined; /** * Key of Access Grant to list access methods for. */ access_grant_key?: string | undefined; /** * ID of the entrance for which you want to retrieve all access methods that grant access to it. */ acs_entrance_id?: string | undefined; /** * ID of the device by which to filter the returned access methods. Must be combined with `access_grant_id`, `access_grant_key`, or `acs_entrance_id`. */ device_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; /** * ID of the space by which to filter the returned access methods. Must be combined with `access_grant_id`, `access_grant_key`, or `acs_entrance_id`. */ space_id?: string | undefined; }; /** * @deprecated Use AccessMethodsListRequest instead. */ export type AccessMethodsListResponse = { access_methods: Array; }; export type AccessMethodsListRequest = SeamHttpRequest; export interface AccessMethodsListOptions { } export type AccessMethodsUnlockDoorParameters = { /** * ID of the cloud_key `access_method` to use for the unlock operation. */ access_method_id: string; /** * ID of the entrance to unlock. */ acs_entrance_id: string; }; /** * @deprecated Use AccessMethodsUnlockDoorRequest instead. */ export type AccessMethodsUnlockDoorResponse = { action_attempt: ActionAttempt; }; export type AccessMethodsUnlockDoorRequest = SeamHttpRequest; export type AccessMethodsUnlockDoorOptions = Pick;