@seamapi/http 0.1.0 → 0.2.1

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