@seamapi/http 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/connect.cjs +752 -366
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +186 -142
  4. package/lib/params-serializer.d.ts +5 -0
  5. package/lib/params-serializer.js +42 -0
  6. package/lib/params-serializer.js.map +1 -0
  7. package/lib/seam/connect/auth.d.ts +3 -2
  8. package/lib/seam/connect/auth.js +55 -4
  9. package/lib/seam/connect/auth.js.map +1 -1
  10. package/lib/seam/connect/client.d.ts +10 -22
  11. package/lib/seam/connect/client.js +17 -77
  12. package/lib/seam/connect/client.js.map +1 -1
  13. package/lib/seam/connect/index.d.ts +2 -1
  14. package/lib/seam/connect/index.js +2 -1
  15. package/lib/seam/connect/index.js.map +1 -1
  16. package/lib/seam/connect/{client-options.d.ts → options.d.ts} +7 -7
  17. package/lib/seam/connect/{client-options.js → options.js} +5 -10
  18. package/lib/seam/connect/options.js.map +1 -0
  19. package/lib/seam/connect/parse-options.d.ts +6 -2
  20. package/lib/seam/connect/parse-options.js +34 -16
  21. package/lib/seam/connect/parse-options.js.map +1 -1
  22. package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +10 -9
  23. package/lib/seam/connect/routes/access-codes-unmanaged.js +26 -14
  24. package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
  25. package/lib/seam/connect/routes/access-codes.d.ts +15 -14
  26. package/lib/seam/connect/routes/access-codes.js +29 -17
  27. package/lib/seam/connect/routes/access-codes.js.map +1 -1
  28. package/lib/seam/connect/routes/acs-access-groups.d.ts +13 -12
  29. package/lib/seam/connect/routes/acs-access-groups.js +26 -14
  30. package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
  31. package/lib/seam/connect/routes/acs-credentials.d.ts +9 -8
  32. package/lib/seam/connect/routes/acs-credentials.js +26 -14
  33. package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
  34. package/lib/seam/connect/routes/acs-systems.d.ts +9 -8
  35. package/lib/seam/connect/routes/acs-systems.js +29 -17
  36. package/lib/seam/connect/routes/acs-systems.js.map +1 -1
  37. package/lib/seam/connect/routes/acs-users.d.ts +18 -11
  38. package/lib/seam/connect/routes/acs-users.js +40 -14
  39. package/lib/seam/connect/routes/acs-users.js.map +1 -1
  40. package/lib/seam/connect/routes/acs.d.ts +5 -4
  41. package/lib/seam/connect/routes/acs.js +26 -14
  42. package/lib/seam/connect/routes/acs.js.map +1 -1
  43. package/lib/seam/connect/routes/action-attempts.d.ts +7 -6
  44. package/lib/seam/connect/routes/action-attempts.js +26 -14
  45. package/lib/seam/connect/routes/action-attempts.js.map +1 -1
  46. package/lib/seam/connect/routes/client-sessions.d.ts +13 -9
  47. package/lib/seam/connect/routes/client-sessions.js +33 -14
  48. package/lib/seam/connect/routes/client-sessions.js.map +1 -1
  49. package/lib/seam/connect/routes/connect-webviews.d.ts +11 -10
  50. package/lib/seam/connect/routes/connect-webviews.js +29 -17
  51. package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
  52. package/lib/seam/connect/routes/connected-accounts.d.ts +8 -7
  53. package/lib/seam/connect/routes/connected-accounts.js +26 -14
  54. package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
  55. package/lib/seam/connect/routes/devices-unmanaged.d.ts +8 -7
  56. package/lib/seam/connect/routes/devices-unmanaged.js +26 -14
  57. package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
  58. package/lib/seam/connect/routes/devices.d.ts +10 -9
  59. package/lib/seam/connect/routes/devices.js +26 -14
  60. package/lib/seam/connect/routes/devices.js.map +1 -1
  61. package/lib/seam/connect/routes/events.d.ts +7 -6
  62. package/lib/seam/connect/routes/events.js +26 -14
  63. package/lib/seam/connect/routes/events.js.map +1 -1
  64. package/lib/seam/connect/routes/locks.d.ts +9 -8
  65. package/lib/seam/connect/routes/locks.js +26 -14
  66. package/lib/seam/connect/routes/locks.js.map +1 -1
  67. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +10 -9
  68. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +26 -14
  69. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
  70. package/lib/seam/connect/routes/noise-sensors.d.ts +5 -4
  71. package/lib/seam/connect/routes/noise-sensors.js +26 -14
  72. package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
  73. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +10 -9
  74. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js +26 -14
  75. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js.map +1 -1
  76. package/lib/seam/connect/routes/thermostats.d.ts +13 -12
  77. package/lib/seam/connect/routes/thermostats.js +26 -14
  78. package/lib/seam/connect/routes/thermostats.js.map +1 -1
  79. package/lib/seam/connect/routes/webhooks.d.ts +9 -8
  80. package/lib/seam/connect/routes/webhooks.js +26 -14
  81. package/lib/seam/connect/routes/webhooks.js.map +1 -1
  82. package/lib/seam/connect/routes/workspaces.d.ts +8 -7
  83. package/lib/seam/connect/routes/workspaces.js +26 -14
  84. package/lib/seam/connect/routes/workspaces.js.map +1 -1
  85. package/lib/seam/connect/seam-http.d.ts +24 -0
  86. package/lib/seam/connect/seam-http.js +82 -0
  87. package/lib/seam/connect/seam-http.js.map +1 -0
  88. package/package.json +7 -4
  89. package/src/lib/params-serializer.ts +55 -0
  90. package/src/lib/seam/connect/auth.ts +94 -6
  91. package/src/lib/seam/connect/client.ts +22 -127
  92. package/src/lib/seam/connect/env.d.ts +11 -0
  93. package/src/lib/seam/connect/index.ts +2 -1
  94. package/src/lib/seam/connect/{client-options.ts → options.ts} +13 -19
  95. package/src/lib/seam/connect/parse-options.ts +50 -23
  96. package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +44 -31
  97. package/src/lib/seam/connect/routes/access-codes.ts +48 -48
  98. package/src/lib/seam/connect/routes/acs-access-groups.ts +49 -40
  99. package/src/lib/seam/connect/routes/acs-credentials.ts +40 -28
  100. package/src/lib/seam/connect/routes/acs-systems.ts +40 -30
  101. package/src/lib/seam/connect/routes/acs-users.ts +70 -36
  102. package/src/lib/seam/connect/routes/acs.ts +33 -17
  103. package/src/lib/seam/connect/routes/action-attempts.ts +36 -22
  104. package/src/lib/seam/connect/routes/client-sessions.ts +58 -30
  105. package/src/lib/seam/connect/routes/connect-webviews.ts +45 -34
  106. package/src/lib/seam/connect/routes/connected-accounts.ts +40 -25
  107. package/src/lib/seam/connect/routes/devices-unmanaged.ts +39 -25
  108. package/src/lib/seam/connect/routes/devices.ts +39 -31
  109. package/src/lib/seam/connect/routes/events.ts +36 -22
  110. package/src/lib/seam/connect/routes/locks.ts +38 -28
  111. package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +47 -31
  112. package/src/lib/seam/connect/routes/noise-sensors.ts +33 -17
  113. package/src/lib/seam/connect/routes/thermostats-climate-setting-schedules.ts +47 -31
  114. package/src/lib/seam/connect/routes/thermostats.ts +42 -40
  115. package/src/lib/seam/connect/routes/webhooks.ts +38 -28
  116. package/src/lib/seam/connect/routes/workspaces.ts +38 -25
  117. package/src/lib/seam/connect/seam-http.ts +141 -0
  118. package/lib/seam/connect/axios.d.ts +0 -3
  119. package/lib/seam/connect/axios.js +0 -19
  120. package/lib/seam/connect/axios.js.map +0 -1
  121. package/lib/seam/connect/client-options.js.map +0 -1
  122. package/src/lib/seam/connect/axios.ts +0 -25
@@ -1,80 +1,98 @@
1
1
  import { Axios, AxiosRequestConfig } from 'axios';
2
+ import { AxiosRetry } from 'axios-retry';
2
3
  import { RouteRequestBody, RouteResponse, RouteRequestParams } from '@seamapi/types/connect';
3
4
  import { SetNonNullable } from 'type-fest';
4
5
 
5
- type SeamHttpOptions = SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
6
- interface SeamHttpCommonOptions {
7
- endpoint?: string;
6
+ type Client = Axios;
7
+ interface ClientOptions {
8
8
  axiosOptions?: AxiosRequestConfig;
9
- enableLegacyMethodBehaivor?: boolean;
9
+ axiosRetryOptions?: AxiosRetryConfig;
10
+ client?: Client;
10
11
  }
11
- interface SeamHttpOptionsWithClient extends Pick<SeamHttpCommonOptions, 'enableLegacyMethodBehaivor'> {
12
- client: Axios;
12
+ type AxiosRetryConfig = Parameters<AxiosRetry>[1];
13
+
14
+ type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
15
+ interface SeamHttpCommonOptions extends ClientOptions {
16
+ endpoint?: string;
13
17
  }
18
+ type SeamHttpFromPublishableKeyOptions = SeamHttpCommonOptions;
19
+ type SeamHttpOptionsFromEnv = SeamHttpCommonOptions;
20
+ interface SeamHttpOptionsWithClient {
21
+ client: Client;
22
+ }
23
+ declare const isSeamHttpOptionsWithClient: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClient;
14
24
  interface SeamHttpOptionsWithApiKey extends SeamHttpCommonOptions {
15
25
  apiKey: string;
16
26
  }
27
+ declare const isSeamHttpOptionsWithApiKey: (options: SeamHttpOptions) => options is SeamHttpOptionsWithApiKey;
17
28
  interface SeamHttpOptionsWithClientSessionToken extends SeamHttpCommonOptions {
18
29
  clientSessionToken: string;
19
30
  }
31
+ declare const isSeamHttpOptionsWithClientSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClientSessionToken;
32
+ declare class SeamHttpInvalidOptionsError extends Error {
33
+ constructor(message: string);
34
+ }
20
35
 
21
36
  declare class SeamHttpAccessCodesUnmanaged {
22
- client: Axios;
23
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
37
+ client: Client;
38
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
24
39
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAccessCodesUnmanaged;
25
40
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAccessCodesUnmanaged;
26
41
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAccessCodesUnmanaged;
42
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAccessCodesUnmanaged>;
27
43
  convertToManaged(body: AccessCodesUnmanagedConvertToManagedBody): Promise<void>;
28
44
  delete(body: AccessCodesUnmanagedDeleteBody): Promise<void>;
29
45
  get(body: AccessCodesUnmanagedGetBody): Promise<AccessCodesUnmanagedGetResponse['access_code']>;
30
46
  list(body: AccessCodesUnmanagedListBody): Promise<AccessCodesUnmanagedListResponse['access_codes']>;
31
47
  update(body: AccessCodesUnmanagedUpdateBody): Promise<void>;
32
48
  }
33
- type AccessCodesUnmanagedConvertToManagedBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/convert_to_managed'>>>;
34
- type AccessCodesUnmanagedDeleteBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/delete'>>>;
35
- type AccessCodesUnmanagedGetBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/get'>>>;
49
+ type AccessCodesUnmanagedConvertToManagedBody = RouteRequestBody<'/access_codes/unmanaged/convert_to_managed'>;
50
+ type AccessCodesUnmanagedDeleteBody = RouteRequestBody<'/access_codes/unmanaged/delete'>;
51
+ type AccessCodesUnmanagedGetBody = RouteRequestBody<'/access_codes/unmanaged/get'>;
36
52
  type AccessCodesUnmanagedGetResponse = SetNonNullable<Required<RouteResponse<'/access_codes/unmanaged/get'>>>;
37
- type AccessCodesUnmanagedListBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/list'>>>;
53
+ type AccessCodesUnmanagedListBody = RouteRequestBody<'/access_codes/unmanaged/list'>;
38
54
  type AccessCodesUnmanagedListResponse = SetNonNullable<Required<RouteResponse<'/access_codes/unmanaged/list'>>>;
39
- type AccessCodesUnmanagedUpdateBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/update'>>>;
55
+ type AccessCodesUnmanagedUpdateBody = RouteRequestBody<'/access_codes/unmanaged/update'>;
40
56
 
41
57
  declare class SeamHttpAccessCodes {
42
- client: Axios;
43
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
58
+ client: Client;
59
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
44
60
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAccessCodes;
45
61
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAccessCodes;
46
62
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAccessCodes;
63
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAccessCodes>;
47
64
  get unmanaged(): SeamHttpAccessCodesUnmanaged;
48
65
  create(body: AccessCodesCreateBody): Promise<AccessCodesCreateResponse['access_code']>;
49
66
  createMultiple(body: AccessCodesCreateMultipleBody): Promise<AccessCodesCreateMultipleResponse['access_codes']>;
50
67
  delete(body: AccessCodesDeleteBody): Promise<void>;
51
- generateCode(params?: AccessCodesGenerateCodeParams): Promise<AccessCodesGenerateCodeResponse['generated_code']>;
68
+ generateCode(body: AccessCodesGenerateCodeBody): Promise<AccessCodesGenerateCodeResponse['generated_code']>;
52
69
  get(body: AccessCodesGetBody): Promise<AccessCodesGetResponse['access_code']>;
53
70
  list(body: AccessCodesListBody): Promise<AccessCodesListResponse['access_codes']>;
54
71
  pullBackupAccessCode(body: AccessCodesPullBackupAccessCodeBody): Promise<AccessCodesPullBackupAccessCodeResponse['backup_access_code']>;
55
72
  update(body: AccessCodesUpdateBody): Promise<void>;
56
73
  }
57
- type AccessCodesCreateBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/create'>>>;
74
+ type AccessCodesCreateBody = RouteRequestBody<'/access_codes/create'>;
58
75
  type AccessCodesCreateResponse = SetNonNullable<Required<RouteResponse<'/access_codes/create'>>>;
59
- type AccessCodesCreateMultipleBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/create_multiple'>>>;
76
+ type AccessCodesCreateMultipleBody = RouteRequestBody<'/access_codes/create_multiple'>;
60
77
  type AccessCodesCreateMultipleResponse = SetNonNullable<Required<RouteResponse<'/access_codes/create_multiple'>>>;
61
- type AccessCodesDeleteBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/delete'>>>;
62
- type AccessCodesGenerateCodeParams = SetNonNullable<Required<RouteRequestParams<'/access_codes/generate_code'>>>;
78
+ type AccessCodesDeleteBody = RouteRequestBody<'/access_codes/delete'>;
79
+ type AccessCodesGenerateCodeBody = RouteRequestBody<'/access_codes/generate_code'>;
63
80
  type AccessCodesGenerateCodeResponse = SetNonNullable<Required<RouteResponse<'/access_codes/generate_code'>>>;
64
- type AccessCodesGetBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/get'>>>;
81
+ type AccessCodesGetBody = RouteRequestBody<'/access_codes/get'>;
65
82
  type AccessCodesGetResponse = SetNonNullable<Required<RouteResponse<'/access_codes/get'>>>;
66
- type AccessCodesListBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/list'>>>;
83
+ type AccessCodesListBody = RouteRequestBody<'/access_codes/list'>;
67
84
  type AccessCodesListResponse = SetNonNullable<Required<RouteResponse<'/access_codes/list'>>>;
68
- type AccessCodesPullBackupAccessCodeBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/pull_backup_access_code'>>>;
85
+ type AccessCodesPullBackupAccessCodeBody = RouteRequestBody<'/access_codes/pull_backup_access_code'>;
69
86
  type AccessCodesPullBackupAccessCodeResponse = SetNonNullable<Required<RouteResponse<'/access_codes/pull_backup_access_code'>>>;
70
- type AccessCodesUpdateBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/update'>>>;
87
+ type AccessCodesUpdateBody = RouteRequestBody<'/access_codes/update'>;
71
88
 
72
89
  declare class SeamHttpAcsAccessGroups {
73
- client: Axios;
74
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
90
+ client: Client;
91
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
75
92
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsAccessGroups;
76
93
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsAccessGroups;
77
94
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsAccessGroups;
95
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsAccessGroups>;
78
96
  addUser(body: AcsAccessGroupsAddUserBody): Promise<void>;
79
97
  create(body: AcsAccessGroupsCreateBody): Promise<AcsAccessGroupsCreateResponse['acs_access_group']>;
80
98
  delete(body: AcsAccessGroupsDeleteBody): Promise<void>;
@@ -84,83 +102,91 @@ declare class SeamHttpAcsAccessGroups {
84
102
  removeUser(body: AcsAccessGroupsRemoveUserBody): Promise<void>;
85
103
  update(body: AcsAccessGroupsUpdateBody): Promise<void>;
86
104
  }
87
- type AcsAccessGroupsAddUserBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/add_user'>>>;
88
- type AcsAccessGroupsCreateBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/create'>>>;
105
+ type AcsAccessGroupsAddUserBody = RouteRequestBody<'/acs/access_groups/add_user'>;
106
+ type AcsAccessGroupsCreateBody = RouteRequestBody<'/acs/access_groups/create'>;
89
107
  type AcsAccessGroupsCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/create'>>>;
90
- type AcsAccessGroupsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/delete'>>>;
91
- type AcsAccessGroupsGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/get'>>>;
108
+ type AcsAccessGroupsDeleteBody = RouteRequestBody<'/acs/access_groups/delete'>;
109
+ type AcsAccessGroupsGetBody = RouteRequestBody<'/acs/access_groups/get'>;
92
110
  type AcsAccessGroupsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/get'>>>;
93
- type AcsAccessGroupsListBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/list'>>>;
111
+ type AcsAccessGroupsListBody = RouteRequestBody<'/acs/access_groups/list'>;
94
112
  type AcsAccessGroupsListResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/list'>>>;
95
- type AcsAccessGroupsListUsersBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/list_users'>>>;
113
+ type AcsAccessGroupsListUsersBody = RouteRequestBody<'/acs/access_groups/list_users'>;
96
114
  type AcsAccessGroupsListUsersResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/list_users'>>>;
97
- type AcsAccessGroupsRemoveUserBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/remove_user'>>>;
98
- type AcsAccessGroupsUpdateBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/update'>>>;
115
+ type AcsAccessGroupsRemoveUserBody = RouteRequestBody<'/acs/access_groups/remove_user'>;
116
+ type AcsAccessGroupsUpdateBody = RouteRequestBody<'/acs/access_groups/update'>;
99
117
 
100
118
  declare class SeamHttpAcsCredentials {
101
- client: Axios;
102
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
119
+ client: Client;
120
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
103
121
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsCredentials;
104
122
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsCredentials;
105
123
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsCredentials;
124
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsCredentials>;
106
125
  create(body: AcsCredentialsCreateBody): Promise<AcsCredentialsCreateResponse['acs_credential']>;
107
126
  delete(body: AcsCredentialsDeleteBody): Promise<void>;
108
127
  get(body: AcsCredentialsGetBody): Promise<AcsCredentialsGetResponse['acs_credential']>;
109
128
  list(body: AcsCredentialsListBody): Promise<AcsCredentialsListResponse['acs_credentials']>;
110
129
  }
111
- type AcsCredentialsCreateBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/create'>>>;
130
+ type AcsCredentialsCreateBody = RouteRequestBody<'/acs/credentials/create'>;
112
131
  type AcsCredentialsCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/create'>>>;
113
- type AcsCredentialsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/delete'>>>;
114
- type AcsCredentialsGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/get'>>>;
132
+ type AcsCredentialsDeleteBody = RouteRequestBody<'/acs/credentials/delete'>;
133
+ type AcsCredentialsGetBody = RouteRequestBody<'/acs/credentials/get'>;
115
134
  type AcsCredentialsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/get'>>>;
116
- type AcsCredentialsListBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/list'>>>;
135
+ type AcsCredentialsListBody = RouteRequestBody<'/acs/credentials/list'>;
117
136
  type AcsCredentialsListResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/list'>>>;
118
137
 
119
138
  declare class SeamHttpAcsSystems {
120
- client: Axios;
121
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
139
+ client: Client;
140
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
122
141
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsSystems;
123
142
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsSystems;
124
143
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsSystems;
144
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsSystems>;
125
145
  get(body: AcsSystemsGetBody): Promise<AcsSystemsGetResponse['acs_system']>;
126
- list(params?: AcsSystemsListParams): Promise<AcsSystemsListResponse['acs_systems']>;
146
+ list(body: AcsSystemsListBody): Promise<AcsSystemsListResponse['acs_systems']>;
127
147
  }
128
- type AcsSystemsGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/systems/get'>>>;
148
+ type AcsSystemsGetBody = RouteRequestBody<'/acs/systems/get'>;
129
149
  type AcsSystemsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/systems/get'>>>;
130
- type AcsSystemsListParams = SetNonNullable<Required<RouteRequestParams<'/acs/systems/list'>>>;
150
+ type AcsSystemsListBody = RouteRequestBody<'/acs/systems/list'>;
131
151
  type AcsSystemsListResponse = SetNonNullable<Required<RouteResponse<'/acs/systems/list'>>>;
132
152
 
133
153
  declare class SeamHttpAcsUsers {
134
- client: Axios;
135
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
154
+ client: Client;
155
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
136
156
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsUsers;
137
157
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsUsers;
138
158
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsUsers;
159
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsUsers>;
139
160
  addToAccessGroup(body: AcsUsersAddToAccessGroupBody): Promise<void>;
140
161
  create(body: AcsUsersCreateBody): Promise<AcsUsersCreateResponse['acs_user']>;
141
162
  delete(body: AcsUsersDeleteBody): Promise<void>;
142
163
  get(body: AcsUsersGetBody): Promise<AcsUsersGetResponse['acs_user']>;
143
164
  list(body: AcsUsersListBody): Promise<AcsUsersListResponse['acs_users']>;
144
165
  removeFromAccessGroup(body: AcsUsersRemoveFromAccessGroupBody): Promise<void>;
166
+ suspend(body: AcsUsersSuspendBody): Promise<void>;
167
+ unsuspend(body: AcsUsersUnsuspendBody): Promise<void>;
145
168
  update(body: AcsUsersUpdateBody): Promise<void>;
146
169
  }
147
- type AcsUsersAddToAccessGroupBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/add_to_access_group'>>>;
148
- type AcsUsersCreateBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/create'>>>;
170
+ type AcsUsersAddToAccessGroupBody = RouteRequestBody<'/acs/users/add_to_access_group'>;
171
+ type AcsUsersCreateBody = RouteRequestBody<'/acs/users/create'>;
149
172
  type AcsUsersCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/users/create'>>>;
150
- type AcsUsersDeleteBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/delete'>>>;
151
- type AcsUsersGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/get'>>>;
173
+ type AcsUsersDeleteBody = RouteRequestBody<'/acs/users/delete'>;
174
+ type AcsUsersGetBody = RouteRequestBody<'/acs/users/get'>;
152
175
  type AcsUsersGetResponse = SetNonNullable<Required<RouteResponse<'/acs/users/get'>>>;
153
- type AcsUsersListBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/list'>>>;
176
+ type AcsUsersListBody = RouteRequestBody<'/acs/users/list'>;
154
177
  type AcsUsersListResponse = SetNonNullable<Required<RouteResponse<'/acs/users/list'>>>;
155
- type AcsUsersRemoveFromAccessGroupBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/remove_from_access_group'>>>;
156
- type AcsUsersUpdateBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/update'>>>;
178
+ type AcsUsersRemoveFromAccessGroupBody = RouteRequestBody<'/acs/users/remove_from_access_group'>;
179
+ type AcsUsersSuspendBody = RouteRequestBody<'/acs/users/suspend'>;
180
+ type AcsUsersUnsuspendBody = RouteRequestBody<'/acs/users/unsuspend'>;
181
+ type AcsUsersUpdateBody = RouteRequestBody<'/acs/users/update'>;
157
182
 
158
183
  declare class SeamHttpAcs {
159
- client: Axios;
160
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
184
+ client: Client;
185
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
161
186
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcs;
162
187
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcs;
163
188
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcs;
189
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcs>;
164
190
  get accessGroups(): SeamHttpAcsAccessGroups;
165
191
  get credentials(): SeamHttpAcsCredentials;
166
192
  get systems(): SeamHttpAcsSystems;
@@ -168,100 +194,109 @@ declare class SeamHttpAcs {
168
194
  }
169
195
 
170
196
  declare class SeamHttpActionAttempts {
171
- client: Axios;
172
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
197
+ client: Client;
198
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
173
199
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpActionAttempts;
174
200
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpActionAttempts;
175
201
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpActionAttempts;
202
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpActionAttempts>;
176
203
  get(body: ActionAttemptsGetBody): Promise<ActionAttemptsGetResponse['action_attempt']>;
177
204
  list(body: ActionAttemptsListBody): Promise<ActionAttemptsListResponse['action_attempts']>;
178
205
  }
179
- type ActionAttemptsGetBody = SetNonNullable<Required<RouteRequestBody<'/action_attempts/get'>>>;
206
+ type ActionAttemptsGetBody = RouteRequestBody<'/action_attempts/get'>;
180
207
  type ActionAttemptsGetResponse = SetNonNullable<Required<RouteResponse<'/action_attempts/get'>>>;
181
- type ActionAttemptsListBody = SetNonNullable<Required<RouteRequestBody<'/action_attempts/list'>>>;
208
+ type ActionAttemptsListBody = RouteRequestBody<'/action_attempts/list'>;
182
209
  type ActionAttemptsListResponse = SetNonNullable<Required<RouteResponse<'/action_attempts/list'>>>;
183
210
 
184
211
  declare class SeamHttpClientSessions {
185
- client: Axios;
186
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
212
+ client: Client;
213
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
187
214
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpClientSessions;
188
215
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpClientSessions;
189
216
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpClientSessions;
217
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpClientSessions>;
190
218
  create(body: ClientSessionsCreateBody): Promise<ClientSessionsCreateResponse['client_session']>;
191
219
  delete(body: ClientSessionsDeleteBody): Promise<void>;
192
220
  get(body: ClientSessionsGetBody): Promise<ClientSessionsGetResponse['client_session']>;
221
+ getOrCreate(body: ClientSessionsGetOrCreateBody): Promise<ClientSessionsGetOrCreateResponse['client_session']>;
193
222
  grantAccess(body: ClientSessionsGrantAccessBody): Promise<ClientSessionsGrantAccessResponse['client_session']>;
194
223
  list(body: ClientSessionsListBody): Promise<ClientSessionsListResponse['client_sessions']>;
195
224
  }
196
- type ClientSessionsCreateBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/create'>>>;
225
+ type ClientSessionsCreateBody = RouteRequestBody<'/client_sessions/create'>;
197
226
  type ClientSessionsCreateResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/create'>>>;
198
- type ClientSessionsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/delete'>>>;
199
- type ClientSessionsGetBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/get'>>>;
227
+ type ClientSessionsDeleteBody = RouteRequestBody<'/client_sessions/delete'>;
228
+ type ClientSessionsGetBody = RouteRequestBody<'/client_sessions/get'>;
200
229
  type ClientSessionsGetResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/get'>>>;
201
- type ClientSessionsGrantAccessBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/grant_access'>>>;
230
+ type ClientSessionsGetOrCreateBody = RouteRequestBody<'/client_sessions/get_or_create'>;
231
+ type ClientSessionsGetOrCreateResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/get_or_create'>>>;
232
+ type ClientSessionsGrantAccessBody = RouteRequestBody<'/client_sessions/grant_access'>;
202
233
  type ClientSessionsGrantAccessResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/grant_access'>>>;
203
- type ClientSessionsListBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/list'>>>;
234
+ type ClientSessionsListBody = RouteRequestBody<'/client_sessions/list'>;
204
235
  type ClientSessionsListResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/list'>>>;
205
236
 
206
237
  declare class SeamHttpConnectWebviews {
207
- client: Axios;
208
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
238
+ client: Client;
239
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
209
240
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpConnectWebviews;
210
241
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpConnectWebviews;
211
242
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpConnectWebviews;
243
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpConnectWebviews>;
212
244
  create(body: ConnectWebviewsCreateBody): Promise<ConnectWebviewsCreateResponse['connect_webview']>;
213
245
  delete(body: ConnectWebviewsDeleteBody): Promise<void>;
214
246
  get(body: ConnectWebviewsGetBody): Promise<ConnectWebviewsGetResponse['connect_webview']>;
215
- list(params?: ConnectWebviewsListParams): Promise<ConnectWebviewsListResponse['connect_webviews']>;
247
+ list(body: ConnectWebviewsListBody): Promise<ConnectWebviewsListResponse['connect_webviews']>;
216
248
  view(params?: ConnectWebviewsViewParams): Promise<void>;
217
249
  }
218
- type ConnectWebviewsCreateBody = SetNonNullable<Required<RouteRequestBody<'/connect_webviews/create'>>>;
250
+ type ConnectWebviewsCreateBody = RouteRequestBody<'/connect_webviews/create'>;
219
251
  type ConnectWebviewsCreateResponse = SetNonNullable<Required<RouteResponse<'/connect_webviews/create'>>>;
220
- type ConnectWebviewsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/connect_webviews/delete'>>>;
221
- type ConnectWebviewsGetBody = SetNonNullable<Required<RouteRequestBody<'/connect_webviews/get'>>>;
252
+ type ConnectWebviewsDeleteBody = RouteRequestBody<'/connect_webviews/delete'>;
253
+ type ConnectWebviewsGetBody = RouteRequestBody<'/connect_webviews/get'>;
222
254
  type ConnectWebviewsGetResponse = SetNonNullable<Required<RouteResponse<'/connect_webviews/get'>>>;
223
- type ConnectWebviewsListParams = SetNonNullable<Required<RouteRequestParams<'/connect_webviews/list'>>>;
255
+ type ConnectWebviewsListBody = RouteRequestBody<'/connect_webviews/list'>;
224
256
  type ConnectWebviewsListResponse = SetNonNullable<Required<RouteResponse<'/connect_webviews/list'>>>;
225
- type ConnectWebviewsViewParams = SetNonNullable<Required<RouteRequestParams<'/connect_webviews/view'>>>;
257
+ type ConnectWebviewsViewParams = RouteRequestParams<'/connect_webviews/view'>;
226
258
 
227
259
  declare class SeamHttpConnectedAccounts {
228
- client: Axios;
229
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
260
+ client: Client;
261
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
230
262
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpConnectedAccounts;
231
263
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpConnectedAccounts;
232
264
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpConnectedAccounts;
265
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpConnectedAccounts>;
233
266
  delete(body: ConnectedAccountsDeleteBody): Promise<void>;
234
267
  get(body: ConnectedAccountsGetBody): Promise<ConnectedAccountsGetResponse['connected_account']>;
235
268
  list(params?: ConnectedAccountsListParams): Promise<ConnectedAccountsListResponse['connected_accounts']>;
236
269
  }
237
- type ConnectedAccountsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/connected_accounts/delete'>>>;
238
- type ConnectedAccountsGetBody = SetNonNullable<Required<RouteRequestBody<'/connected_accounts/get'>>>;
270
+ type ConnectedAccountsDeleteBody = RouteRequestBody<'/connected_accounts/delete'>;
271
+ type ConnectedAccountsGetBody = RouteRequestBody<'/connected_accounts/get'>;
239
272
  type ConnectedAccountsGetResponse = SetNonNullable<Required<RouteResponse<'/connected_accounts/get'>>>;
240
- type ConnectedAccountsListParams = SetNonNullable<Required<RouteRequestParams<'/connected_accounts/list'>>>;
273
+ type ConnectedAccountsListParams = RouteRequestParams<'/connected_accounts/list'>;
241
274
  type ConnectedAccountsListResponse = SetNonNullable<Required<RouteResponse<'/connected_accounts/list'>>>;
242
275
 
243
276
  declare class SeamHttpDevicesUnmanaged {
244
- client: Axios;
245
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
277
+ client: Client;
278
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
246
279
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpDevicesUnmanaged;
247
280
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpDevicesUnmanaged;
248
281
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpDevicesUnmanaged;
282
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpDevicesUnmanaged>;
249
283
  get(body: DevicesUnmanagedGetBody): Promise<DevicesUnmanagedGetResponse['device']>;
250
284
  list(body: DevicesUnmanagedListBody): Promise<DevicesUnmanagedListResponse['devices']>;
251
285
  update(body: DevicesUnmanagedUpdateBody): Promise<void>;
252
286
  }
253
- type DevicesUnmanagedGetBody = SetNonNullable<Required<RouteRequestBody<'/devices/unmanaged/get'>>>;
287
+ type DevicesUnmanagedGetBody = RouteRequestBody<'/devices/unmanaged/get'>;
254
288
  type DevicesUnmanagedGetResponse = SetNonNullable<Required<RouteResponse<'/devices/unmanaged/get'>>>;
255
- type DevicesUnmanagedListBody = SetNonNullable<Required<RouteRequestBody<'/devices/unmanaged/list'>>>;
289
+ type DevicesUnmanagedListBody = RouteRequestBody<'/devices/unmanaged/list'>;
256
290
  type DevicesUnmanagedListResponse = SetNonNullable<Required<RouteResponse<'/devices/unmanaged/list'>>>;
257
- type DevicesUnmanagedUpdateBody = SetNonNullable<Required<RouteRequestBody<'/devices/unmanaged/update'>>>;
291
+ type DevicesUnmanagedUpdateBody = RouteRequestBody<'/devices/unmanaged/update'>;
258
292
 
259
293
  declare class SeamHttpDevices {
260
- client: Axios;
261
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
294
+ client: Client;
295
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
262
296
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpDevices;
263
297
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpDevices;
264
298
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpDevices;
299
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpDevices>;
265
300
  get unmanaged(): SeamHttpDevicesUnmanaged;
266
301
  delete(body: DevicesDeleteBody): Promise<void>;
267
302
  get(body: DevicesGetBody): Promise<DevicesGetResponse['device']>;
@@ -269,105 +304,111 @@ declare class SeamHttpDevices {
269
304
  listDeviceProviders(body: DevicesListDeviceProvidersBody): Promise<DevicesListDeviceProvidersResponse['device_providers']>;
270
305
  update(body: DevicesUpdateBody): Promise<void>;
271
306
  }
272
- type DevicesDeleteBody = SetNonNullable<Required<RouteRequestBody<'/devices/delete'>>>;
273
- type DevicesGetBody = SetNonNullable<Required<RouteRequestBody<'/devices/get'>>>;
307
+ type DevicesDeleteBody = RouteRequestBody<'/devices/delete'>;
308
+ type DevicesGetBody = RouteRequestBody<'/devices/get'>;
274
309
  type DevicesGetResponse = SetNonNullable<Required<RouteResponse<'/devices/get'>>>;
275
- type DevicesListBody = SetNonNullable<Required<RouteRequestBody<'/devices/list'>>>;
310
+ type DevicesListBody = RouteRequestBody<'/devices/list'>;
276
311
  type DevicesListResponse = SetNonNullable<Required<RouteResponse<'/devices/list'>>>;
277
- type DevicesListDeviceProvidersBody = SetNonNullable<Required<RouteRequestBody<'/devices/list_device_providers'>>>;
312
+ type DevicesListDeviceProvidersBody = RouteRequestBody<'/devices/list_device_providers'>;
278
313
  type DevicesListDeviceProvidersResponse = SetNonNullable<Required<RouteResponse<'/devices/list_device_providers'>>>;
279
- type DevicesUpdateBody = SetNonNullable<Required<RouteRequestBody<'/devices/update'>>>;
314
+ type DevicesUpdateBody = RouteRequestBody<'/devices/update'>;
280
315
 
281
316
  declare class SeamHttpEvents {
282
- client: Axios;
283
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
317
+ client: Client;
318
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
284
319
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpEvents;
285
320
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpEvents;
286
321
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpEvents;
322
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpEvents>;
287
323
  get(body: EventsGetBody): Promise<EventsGetResponse['event']>;
288
324
  list(body: EventsListBody): Promise<EventsListResponse['events']>;
289
325
  }
290
- type EventsGetBody = SetNonNullable<Required<RouteRequestBody<'/events/get'>>>;
326
+ type EventsGetBody = RouteRequestBody<'/events/get'>;
291
327
  type EventsGetResponse = SetNonNullable<Required<RouteResponse<'/events/get'>>>;
292
- type EventsListBody = SetNonNullable<Required<RouteRequestBody<'/events/list'>>>;
328
+ type EventsListBody = RouteRequestBody<'/events/list'>;
293
329
  type EventsListResponse = SetNonNullable<Required<RouteResponse<'/events/list'>>>;
294
330
 
295
331
  declare class SeamHttpLocks {
296
- client: Axios;
297
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
332
+ client: Client;
333
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
298
334
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpLocks;
299
335
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpLocks;
300
336
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpLocks;
337
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpLocks>;
301
338
  get(body: LocksGetBody): Promise<LocksGetResponse['device']>;
302
339
  list(body: LocksListBody): Promise<LocksListResponse['devices']>;
303
340
  lockDoor(body: LocksLockDoorBody): Promise<LocksLockDoorResponse['action_attempt']>;
304
341
  unlockDoor(body: LocksUnlockDoorBody): Promise<LocksUnlockDoorResponse['action_attempt']>;
305
342
  }
306
- type LocksGetBody = SetNonNullable<Required<RouteRequestBody<'/locks/get'>>>;
343
+ type LocksGetBody = RouteRequestBody<'/locks/get'>;
307
344
  type LocksGetResponse = SetNonNullable<Required<RouteResponse<'/locks/get'>>>;
308
- type LocksListBody = SetNonNullable<Required<RouteRequestBody<'/locks/list'>>>;
345
+ type LocksListBody = RouteRequestBody<'/locks/list'>;
309
346
  type LocksListResponse = SetNonNullable<Required<RouteResponse<'/locks/list'>>>;
310
- type LocksLockDoorBody = SetNonNullable<Required<RouteRequestBody<'/locks/lock_door'>>>;
347
+ type LocksLockDoorBody = RouteRequestBody<'/locks/lock_door'>;
311
348
  type LocksLockDoorResponse = SetNonNullable<Required<RouteResponse<'/locks/lock_door'>>>;
312
- type LocksUnlockDoorBody = SetNonNullable<Required<RouteRequestBody<'/locks/unlock_door'>>>;
349
+ type LocksUnlockDoorBody = RouteRequestBody<'/locks/unlock_door'>;
313
350
  type LocksUnlockDoorResponse = SetNonNullable<Required<RouteResponse<'/locks/unlock_door'>>>;
314
351
 
315
352
  declare class SeamHttpNoiseSensorsNoiseThresholds {
316
- client: Axios;
317
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
353
+ client: Client;
354
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
318
355
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpNoiseSensorsNoiseThresholds;
319
356
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpNoiseSensorsNoiseThresholds;
320
357
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpNoiseSensorsNoiseThresholds;
358
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpNoiseSensorsNoiseThresholds>;
321
359
  create(body: NoiseSensorsNoiseThresholdsCreateBody): Promise<void>;
322
360
  delete(body: NoiseSensorsNoiseThresholdsDeleteBody): Promise<void>;
323
361
  get(body: NoiseSensorsNoiseThresholdsGetBody): Promise<NoiseSensorsNoiseThresholdsGetResponse['noise_threshold']>;
324
362
  list(body: NoiseSensorsNoiseThresholdsListBody): Promise<NoiseSensorsNoiseThresholdsListResponse['noise_thresholds']>;
325
363
  update(body: NoiseSensorsNoiseThresholdsUpdateBody): Promise<void>;
326
364
  }
327
- type NoiseSensorsNoiseThresholdsCreateBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/create'>>>;
328
- type NoiseSensorsNoiseThresholdsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/delete'>>>;
329
- type NoiseSensorsNoiseThresholdsGetBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/get'>>>;
365
+ type NoiseSensorsNoiseThresholdsCreateBody = RouteRequestBody<'/noise_sensors/noise_thresholds/create'>;
366
+ type NoiseSensorsNoiseThresholdsDeleteBody = RouteRequestBody<'/noise_sensors/noise_thresholds/delete'>;
367
+ type NoiseSensorsNoiseThresholdsGetBody = RouteRequestBody<'/noise_sensors/noise_thresholds/get'>;
330
368
  type NoiseSensorsNoiseThresholdsGetResponse = SetNonNullable<Required<RouteResponse<'/noise_sensors/noise_thresholds/get'>>>;
331
- type NoiseSensorsNoiseThresholdsListBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/list'>>>;
369
+ type NoiseSensorsNoiseThresholdsListBody = RouteRequestBody<'/noise_sensors/noise_thresholds/list'>;
332
370
  type NoiseSensorsNoiseThresholdsListResponse = SetNonNullable<Required<RouteResponse<'/noise_sensors/noise_thresholds/list'>>>;
333
- type NoiseSensorsNoiseThresholdsUpdateBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/update'>>>;
371
+ type NoiseSensorsNoiseThresholdsUpdateBody = RouteRequestBody<'/noise_sensors/noise_thresholds/update'>;
334
372
 
335
373
  declare class SeamHttpNoiseSensors {
336
- client: Axios;
337
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
374
+ client: Client;
375
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
338
376
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpNoiseSensors;
339
377
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpNoiseSensors;
340
378
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpNoiseSensors;
379
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpNoiseSensors>;
341
380
  get noiseThresholds(): SeamHttpNoiseSensorsNoiseThresholds;
342
381
  }
343
382
 
344
383
  declare class SeamHttpThermostatsClimateSettingSchedules {
345
- client: Axios;
346
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
384
+ client: Client;
385
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
347
386
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpThermostatsClimateSettingSchedules;
348
387
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpThermostatsClimateSettingSchedules;
349
388
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpThermostatsClimateSettingSchedules;
389
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpThermostatsClimateSettingSchedules>;
350
390
  create(body: ThermostatsClimateSettingSchedulesCreateBody): Promise<ThermostatsClimateSettingSchedulesCreateResponse['climate_setting_schedule']>;
351
391
  delete(body: ThermostatsClimateSettingSchedulesDeleteBody): Promise<void>;
352
392
  get(body: ThermostatsClimateSettingSchedulesGetBody): Promise<ThermostatsClimateSettingSchedulesGetResponse['climate_setting_schedule']>;
353
393
  list(body: ThermostatsClimateSettingSchedulesListBody): Promise<ThermostatsClimateSettingSchedulesListResponse['climate_setting_schedules']>;
354
394
  update(body: ThermostatsClimateSettingSchedulesUpdateBody): Promise<void>;
355
395
  }
356
- type ThermostatsClimateSettingSchedulesCreateBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/create'>>>;
396
+ type ThermostatsClimateSettingSchedulesCreateBody = RouteRequestBody<'/thermostats/climate_setting_schedules/create'>;
357
397
  type ThermostatsClimateSettingSchedulesCreateResponse = SetNonNullable<Required<RouteResponse<'/thermostats/climate_setting_schedules/create'>>>;
358
- type ThermostatsClimateSettingSchedulesDeleteBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/delete'>>>;
359
- type ThermostatsClimateSettingSchedulesGetBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/get'>>>;
398
+ type ThermostatsClimateSettingSchedulesDeleteBody = RouteRequestBody<'/thermostats/climate_setting_schedules/delete'>;
399
+ type ThermostatsClimateSettingSchedulesGetBody = RouteRequestBody<'/thermostats/climate_setting_schedules/get'>;
360
400
  type ThermostatsClimateSettingSchedulesGetResponse = SetNonNullable<Required<RouteResponse<'/thermostats/climate_setting_schedules/get'>>>;
361
- type ThermostatsClimateSettingSchedulesListBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/list'>>>;
401
+ type ThermostatsClimateSettingSchedulesListBody = RouteRequestBody<'/thermostats/climate_setting_schedules/list'>;
362
402
  type ThermostatsClimateSettingSchedulesListResponse = SetNonNullable<Required<RouteResponse<'/thermostats/climate_setting_schedules/list'>>>;
363
- type ThermostatsClimateSettingSchedulesUpdateBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/update'>>>;
403
+ type ThermostatsClimateSettingSchedulesUpdateBody = RouteRequestBody<'/thermostats/climate_setting_schedules/update'>;
364
404
 
365
405
  declare class SeamHttpThermostats {
366
- client: Axios;
367
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
406
+ client: Client;
407
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
368
408
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpThermostats;
369
409
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpThermostats;
370
410
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpThermostats;
411
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpThermostats>;
371
412
  get climateSettingSchedules(): SeamHttpThermostatsClimateSettingSchedules;
372
413
  cool(body: ThermostatsCoolBody): Promise<void>;
373
414
  get(body: ThermostatsGetBody): Promise<ThermostatsGetResponse['thermostat']>;
@@ -378,58 +419,61 @@ declare class SeamHttpThermostats {
378
419
  setFanMode(body: ThermostatsSetFanModeBody): Promise<void>;
379
420
  update(body: ThermostatsUpdateBody): Promise<void>;
380
421
  }
381
- type ThermostatsCoolBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/cool'>>>;
382
- type ThermostatsGetBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/get'>>>;
422
+ type ThermostatsCoolBody = RouteRequestBody<'/thermostats/cool'>;
423
+ type ThermostatsGetBody = RouteRequestBody<'/thermostats/get'>;
383
424
  type ThermostatsGetResponse = SetNonNullable<Required<RouteResponse<'/thermostats/get'>>>;
384
- type ThermostatsHeatBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/heat'>>>;
385
- type ThermostatsHeatCoolBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/heat_cool'>>>;
386
- type ThermostatsListBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/list'>>>;
425
+ type ThermostatsHeatBody = RouteRequestBody<'/thermostats/heat'>;
426
+ type ThermostatsHeatCoolBody = RouteRequestBody<'/thermostats/heat_cool'>;
427
+ type ThermostatsListBody = RouteRequestBody<'/thermostats/list'>;
387
428
  type ThermostatsListResponse = SetNonNullable<Required<RouteResponse<'/thermostats/list'>>>;
388
- type ThermostatsOffBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/off'>>>;
389
- type ThermostatsSetFanModeBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/set_fan_mode'>>>;
390
- type ThermostatsUpdateBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/update'>>>;
429
+ type ThermostatsOffBody = RouteRequestBody<'/thermostats/off'>;
430
+ type ThermostatsSetFanModeBody = RouteRequestBody<'/thermostats/set_fan_mode'>;
431
+ type ThermostatsUpdateBody = RouteRequestBody<'/thermostats/update'>;
391
432
 
392
433
  declare class SeamHttpWebhooks {
393
- client: Axios;
394
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
434
+ client: Client;
435
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
395
436
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpWebhooks;
396
437
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWebhooks;
397
438
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWebhooks;
439
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpWebhooks>;
398
440
  create(body: WebhooksCreateBody): Promise<WebhooksCreateResponse['webhook']>;
399
441
  delete(body: WebhooksDeleteBody): Promise<void>;
400
442
  get(body: WebhooksGetBody): Promise<WebhooksGetResponse['webhook']>;
401
443
  list(params?: WebhooksListParams): Promise<WebhooksListResponse['webhooks']>;
402
444
  }
403
- type WebhooksCreateBody = SetNonNullable<Required<RouteRequestBody<'/webhooks/create'>>>;
445
+ type WebhooksCreateBody = RouteRequestBody<'/webhooks/create'>;
404
446
  type WebhooksCreateResponse = SetNonNullable<Required<RouteResponse<'/webhooks/create'>>>;
405
- type WebhooksDeleteBody = SetNonNullable<Required<RouteRequestBody<'/webhooks/delete'>>>;
406
- type WebhooksGetBody = SetNonNullable<Required<RouteRequestBody<'/webhooks/get'>>>;
447
+ type WebhooksDeleteBody = RouteRequestBody<'/webhooks/delete'>;
448
+ type WebhooksGetBody = RouteRequestBody<'/webhooks/get'>;
407
449
  type WebhooksGetResponse = SetNonNullable<Required<RouteResponse<'/webhooks/get'>>>;
408
- type WebhooksListParams = SetNonNullable<Required<RouteRequestParams<'/webhooks/list'>>>;
450
+ type WebhooksListParams = RouteRequestParams<'/webhooks/list'>;
409
451
  type WebhooksListResponse = SetNonNullable<Required<RouteResponse<'/webhooks/list'>>>;
410
452
 
411
453
  declare class SeamHttpWorkspaces {
412
- client: Axios;
413
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
454
+ client: Client;
455
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
414
456
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpWorkspaces;
415
457
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWorkspaces;
416
458
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWorkspaces;
459
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpWorkspaces>;
417
460
  get(params?: WorkspacesGetParams): Promise<WorkspacesGetResponse['workspace']>;
418
461
  list(params?: WorkspacesListParams): Promise<WorkspacesListResponse['workspaces']>;
419
462
  resetSandbox(body: WorkspacesResetSandboxBody): Promise<void>;
420
463
  }
421
- type WorkspacesGetParams = SetNonNullable<Required<RouteRequestParams<'/workspaces/get'>>>;
464
+ type WorkspacesGetParams = RouteRequestParams<'/workspaces/get'>;
422
465
  type WorkspacesGetResponse = SetNonNullable<Required<RouteResponse<'/workspaces/get'>>>;
423
- type WorkspacesListParams = SetNonNullable<Required<RouteRequestParams<'/workspaces/list'>>>;
466
+ type WorkspacesListParams = RouteRequestParams<'/workspaces/list'>;
424
467
  type WorkspacesListResponse = SetNonNullable<Required<RouteResponse<'/workspaces/list'>>>;
425
- type WorkspacesResetSandboxBody = SetNonNullable<Required<RouteRequestBody<'/workspaces/reset_sandbox'>>>;
468
+ type WorkspacesResetSandboxBody = RouteRequestBody<'/workspaces/reset_sandbox'>;
426
469
 
427
470
  declare class SeamHttp {
428
- client: Axios;
429
- constructor(apiKeyOrOptions: string | SeamHttpOptions);
471
+ client: Client;
472
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
430
473
  static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttp;
431
474
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttp;
432
475
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttp;
476
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttp>;
433
477
  get accessCodes(): SeamHttpAccessCodes;
434
478
  get acs(): SeamHttpAcs;
435
479
  get actionAttempts(): SeamHttpActionAttempts;
@@ -445,4 +489,4 @@ declare class SeamHttp {
445
489
  get workspaces(): SeamHttpWorkspaces;
446
490
  }
447
491
 
448
- export { SeamHttp };
492
+ export { SeamHttp, SeamHttpFromPublishableKeyOptions, SeamHttpInvalidOptionsError, SeamHttpOptions, SeamHttpOptionsFromEnv, SeamHttpOptionsWithApiKey, SeamHttpOptionsWithClient, SeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken };