@zuzjs/flare 0.2.4 → 0.2.5

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.
package/dist/index.d.cts CHANGED
@@ -5,6 +5,7 @@ export { Anonymous, Apple, AuthGuard, AuthToken, CreateUserWithEmailAndPasswordI
5
5
  * Client Configuration
6
6
  */
7
7
  interface FlareConfig {
8
+ /** Base URL for the Flare API. */
8
9
  endpoint: string;
9
10
  /**
10
11
  * Optional HTTP base URL for auth API calls.
@@ -14,15 +15,26 @@ interface FlareConfig {
14
15
  * Example: '/api/flare' (relative, browser resolves against current origin)
15
16
  */
16
17
  httpBase?: string;
18
+ /** Unique identifier for the application. */
17
19
  appId: string;
20
+ /** API key for the application. */
18
21
  apiKey?: string;
22
+ /** Public key for the application. */
19
23
  publicKey?: string;
24
+ /** Whether to automatically reconnect on connection loss. */
20
25
  autoReconnect?: boolean;
26
+ /** Delay between reconnection attempts in milliseconds. */
21
27
  reconnectDelay?: number;
28
+ /** Maximum delay between reconnection attempts in milliseconds. */
22
29
  maxReconnectDelay?: number;
30
+ /** Enable or disable debug mode. */
23
31
  debug?: boolean;
32
+ /** Enable or disable request timing. */
24
33
  requestTiming?: boolean;
34
+ /** Connection timeout in milliseconds. */
25
35
  connectionTimeout?: number;
36
+ /** Enable automatic push notification registration on supported platforms. */
37
+ pushNotifications?: boolean;
26
38
  }
27
39
  type FlareAuthProviderId = "credentials" | "anonymous" | "google" | "facebook" | "github" | "dropbox" | "apple" | "twitter";
28
40
  interface FlareAuthProviderPublicConfig {
@@ -65,6 +77,86 @@ interface FlareAuthUser {
65
77
  email_verified: string;
66
78
  [x: string]: any;
67
79
  }
80
+ interface RegisterPushTokenInput {
81
+ token: string;
82
+ platform?: string;
83
+ deviceId?: string;
84
+ topics?: string[];
85
+ authAppId?: string;
86
+ }
87
+ interface BrowserPushTokenOptions {
88
+ /** Service worker registration used for PushManager subscription. */
89
+ serviceWorkerRegistration?: ServiceWorkerRegistration;
90
+ /** Existing PushSubscription to reuse instead of subscribing again. */
91
+ subscription?: PushSubscription;
92
+ /** Public VAPID key used when creating a new PushSubscription. */
93
+ applicationServerKey?: string;
94
+ /** When true, unsubscribe old subscriptions before creating a new one. */
95
+ forceResubscribe?: boolean;
96
+ }
97
+ interface BrowserPushRegistrationOptions extends BrowserPushTokenOptions {
98
+ /** Optional explicit platform label. Defaults to "web". */
99
+ platform?: string;
100
+ deviceId?: string;
101
+ topics?: string[];
102
+ authAppId?: string;
103
+ }
104
+ interface SendPushNotificationInput {
105
+ title?: string;
106
+ body?: string;
107
+ image?: string;
108
+ data?: Record<string, unknown>;
109
+ tokens?: string[];
110
+ uid?: string;
111
+ topic?: string;
112
+ priority?: "normal" | "high";
113
+ ttlSeconds?: number;
114
+ dryRun?: boolean;
115
+ authAppId?: string;
116
+ }
117
+ interface PushSendResult {
118
+ sent: boolean;
119
+ appId: string;
120
+ targetCount: number;
121
+ successCount: number;
122
+ failureCount: number;
123
+ invalidatedTokenCount: number;
124
+ dryRun: boolean;
125
+ }
126
+ interface SendEmailInput {
127
+ to: string | string[];
128
+ tag: string;
129
+ values?: Record<string, unknown>;
130
+ authAppId?: string;
131
+ }
132
+ interface EmailSendResult {
133
+ sent: boolean;
134
+ appId: string;
135
+ tag: string;
136
+ recipientCount: number;
137
+ acceptedCount: number;
138
+ rejectedCount: number;
139
+ includeVerificationLink?: boolean;
140
+ linkId?: string;
141
+ verifyUrl?: string;
142
+ messageId?: string;
143
+ }
144
+ interface VerifyEmailLinkInput {
145
+ token: string;
146
+ tag?: string;
147
+ email?: string;
148
+ authAppId?: string;
149
+ }
150
+ interface EmailLinkVerifyResult {
151
+ verified: boolean;
152
+ alreadyVerified: boolean;
153
+ appId: string;
154
+ linkId: string;
155
+ email: string;
156
+ tag: string;
157
+ verifiedAt?: string;
158
+ acceptedByUid?: string;
159
+ }
68
160
  type AuthStateListener = (session: FlareAuthSession & FlareAuthUser | null) => void;
69
161
  type AuthConfigListener = (conf: FlareAuthConfig) => void;
70
162
  interface SubscribeOptions {
@@ -167,7 +259,7 @@ interface VectorSearchClause {
167
259
  metric?: "cosine" | "euclidean" | "dotProduct";
168
260
  minScore?: number;
169
261
  }
170
- /** Full structured query (Firestore + SQL feature set) */
262
+ /** Full structured query (document query + SQL-style feature set) */
171
263
  interface StructuredQuery {
172
264
  where?: AnyFilter[];
173
265
  orderBy?: OrderByClause[];
@@ -781,6 +873,7 @@ declare class FlareAuth<TPresetMap extends QueryPresetMap = {}> extends FlareBas
781
873
  protected csrfInitPromise?: Promise<void>;
782
874
  protected csrfBootstrapAttempted: boolean;
783
875
  protected socketAuthSyncPromise?: Promise<void>;
876
+ protected pushServiceWorkerInitPromise?: Promise<ServiceWorkerRegistration | null>;
784
877
  protected authSession: FlareAuthSession | null;
785
878
  protected authStateListeners: AuthStateListener[];
786
879
  protected authConfigListeners: AuthConfigListener[];
@@ -977,6 +1070,39 @@ declare class FlareAuth<TPresetMap extends QueryPresetMap = {}> extends FlareBas
977
1070
  email: string;
978
1071
  sessionsRevoked?: number;
979
1072
  }>;
1073
+ private toUint8ArrayFromBase64Url;
1074
+ private encodePushTokenFromSubscription;
1075
+ private fetchPushSetupConfig;
1076
+ setupPushServiceWorker(): Promise<ServiceWorkerRegistration | null>;
1077
+ requestPushPermission(): Promise<NotificationPermission>;
1078
+ acquireBrowserPushToken(options?: BrowserPushTokenOptions): Promise<{
1079
+ token: string;
1080
+ subscription: PushSubscription;
1081
+ }>;
1082
+ enableBrowserPush(options?: BrowserPushRegistrationOptions): Promise<{
1083
+ registered: boolean;
1084
+ appId: string;
1085
+ uid: string;
1086
+ token: string;
1087
+ platform?: string;
1088
+ subscription: PushSubscription;
1089
+ }>;
1090
+ registerPushToken(input: RegisterPushTokenInput): Promise<{
1091
+ registered: boolean;
1092
+ appId: string;
1093
+ uid: string;
1094
+ token: string;
1095
+ platform?: string;
1096
+ }>;
1097
+ unregisterPushToken(token: string, authAppId?: string): Promise<{
1098
+ unregistered: boolean;
1099
+ appId: string;
1100
+ token: string;
1101
+ removed: boolean;
1102
+ }>;
1103
+ sendPushNotification(input: SendPushNotificationInput): Promise<PushSendResult>;
1104
+ sendEmail(input: SendEmailInput): Promise<EmailSendResult>;
1105
+ verifyEmailLink(input: VerifyEmailLinkInput): Promise<EmailLinkVerifyResult>;
980
1106
  signIn(providerId: ProviderId, options?: {
981
1107
  returnTo?: string;
982
1108
  metaTag?: string;
@@ -1062,7 +1188,10 @@ declare class FlareAuth<TPresetMap extends QueryPresetMap = {}> extends FlareBas
1062
1188
  */
1063
1189
 
1064
1190
  declare class FlareClient<TPresetMap extends QueryPresetMap = {}> extends FlareAuth<TPresetMap> {
1191
+ private autoPushRegisteredIdentity?;
1065
1192
  constructor(config: FlareConfig);
1193
+ private enableAutoPushNotificationsAfterAuth;
1194
+ autoEnablePushNotifications(): Promise<void>;
1066
1195
  }
1067
1196
 
1068
1197
  /**
@@ -1253,4 +1382,4 @@ declare const getFlare: () => FlareClient | null;
1253
1382
  */
1254
1383
  declare const disconnectFlare: () => void;
1255
1384
 
1256
- export { type AggregateFunction, type AggregateSpec, type AnyFilter, type AuthConfigListener, type AuthConfigResponse, type AuthResult, type AuthStateListener, type AuthWithPendingVerificationResult, type AuthWithTokenResult, type BaseMessage, type ChangeEvent, type ChangeOperation, type CollectionPresetMethods, type CollectionQuery, CollectionReference, type ConnectionState, type CsrfProxyConfig, type CursorValue, type DocAddedCallback, type DocChangedCallback, type DocDeletedCallback, type DocUpdatedCallback, DocumentQueryBuilder, DocumentReference, type DocumentSnapshot, FlareAction, type FlareAuthConfig, type FlareAuthProviderId, type FlareAuthProviderPublicConfig, type FlareAuthSession, type FlareAuthUser, type FlareConfig, FlareError, FlareErrors, FlareEvent, FlareResponseCodes, type FlareRule, type GroupByClause, type HavingClause, type JoinClause, type JoinQueryPattern, type NestedJoinClause, type OfflineOperation, type OrFilter, type OrderByClause, type PresenceCallback, type PresenceJoinCallback, type PresenceLeaveCallback, type PresenceMember, type QueryConfig, type QueryOperator, type QueryPresetMap, type QueryPresetParams, type QueryPresetRow, type QueryPresetSpec, type QuerySnapshot, type RulePermission, type SecurityRuleEntry, type SecurityRulesMap, type SnapshotEvent, type StructuredJoinClause, type StructuredQuery, type SubscribeMessage, type SubscribeOptions, type SubscriptionCallback, type SubscriptionData, type SubscriptionError, type SubscriptionErrorCallback, type SubscriptionHandle, type VectorFieldConfig, type VectorSearchClause, type WhereCondition, buildFlareHeaders, connectApp, createCsrfProxy, createCsrfProxyHandler, FlareClient as default, disconnectFlare, extractCsrfFromRequest, flareRulesToSecurityMap, getFlare, parseValue, parseWhereCondition, securityMapToFlareRules };
1385
+ export { type AggregateFunction, type AggregateSpec, type AnyFilter, type AuthConfigListener, type AuthConfigResponse, type AuthResult, type AuthStateListener, type AuthWithPendingVerificationResult, type AuthWithTokenResult, type BaseMessage, type BrowserPushRegistrationOptions, type BrowserPushTokenOptions, type ChangeEvent, type ChangeOperation, type CollectionPresetMethods, type CollectionQuery, CollectionReference, type ConnectionState, type CsrfProxyConfig, type CursorValue, type DocAddedCallback, type DocChangedCallback, type DocDeletedCallback, type DocUpdatedCallback, DocumentQueryBuilder, DocumentReference, type DocumentSnapshot, type EmailLinkVerifyResult, type EmailSendResult, FlareAction, type FlareAuthConfig, type FlareAuthProviderId, type FlareAuthProviderPublicConfig, type FlareAuthSession, type FlareAuthUser, type FlareConfig, FlareError, FlareErrors, FlareEvent, FlareResponseCodes, type FlareRule, type GroupByClause, type HavingClause, type JoinClause, type JoinQueryPattern, type NestedJoinClause, type OfflineOperation, type OrFilter, type OrderByClause, type PresenceCallback, type PresenceJoinCallback, type PresenceLeaveCallback, type PresenceMember, type PushSendResult, type QueryConfig, type QueryOperator, type QueryPresetMap, type QueryPresetParams, type QueryPresetRow, type QueryPresetSpec, type QuerySnapshot, type RegisterPushTokenInput, type RulePermission, type SecurityRuleEntry, type SecurityRulesMap, type SendEmailInput, type SendPushNotificationInput, type SnapshotEvent, type StructuredJoinClause, type StructuredQuery, type SubscribeMessage, type SubscribeOptions, type SubscriptionCallback, type SubscriptionData, type SubscriptionError, type SubscriptionErrorCallback, type SubscriptionHandle, type VectorFieldConfig, type VectorSearchClause, type VerifyEmailLinkInput, type WhereCondition, buildFlareHeaders, connectApp, createCsrfProxy, createCsrfProxyHandler, FlareClient as default, disconnectFlare, extractCsrfFromRequest, flareRulesToSecurityMap, getFlare, parseValue, parseWhereCondition, securityMapToFlareRules };
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export { Anonymous, Apple, AuthGuard, AuthToken, CreateUserWithEmailAndPasswordI
5
5
  * Client Configuration
6
6
  */
7
7
  interface FlareConfig {
8
+ /** Base URL for the Flare API. */
8
9
  endpoint: string;
9
10
  /**
10
11
  * Optional HTTP base URL for auth API calls.
@@ -14,15 +15,26 @@ interface FlareConfig {
14
15
  * Example: '/api/flare' (relative, browser resolves against current origin)
15
16
  */
16
17
  httpBase?: string;
18
+ /** Unique identifier for the application. */
17
19
  appId: string;
20
+ /** API key for the application. */
18
21
  apiKey?: string;
22
+ /** Public key for the application. */
19
23
  publicKey?: string;
24
+ /** Whether to automatically reconnect on connection loss. */
20
25
  autoReconnect?: boolean;
26
+ /** Delay between reconnection attempts in milliseconds. */
21
27
  reconnectDelay?: number;
28
+ /** Maximum delay between reconnection attempts in milliseconds. */
22
29
  maxReconnectDelay?: number;
30
+ /** Enable or disable debug mode. */
23
31
  debug?: boolean;
32
+ /** Enable or disable request timing. */
24
33
  requestTiming?: boolean;
34
+ /** Connection timeout in milliseconds. */
25
35
  connectionTimeout?: number;
36
+ /** Enable automatic push notification registration on supported platforms. */
37
+ pushNotifications?: boolean;
26
38
  }
27
39
  type FlareAuthProviderId = "credentials" | "anonymous" | "google" | "facebook" | "github" | "dropbox" | "apple" | "twitter";
28
40
  interface FlareAuthProviderPublicConfig {
@@ -65,6 +77,86 @@ interface FlareAuthUser {
65
77
  email_verified: string;
66
78
  [x: string]: any;
67
79
  }
80
+ interface RegisterPushTokenInput {
81
+ token: string;
82
+ platform?: string;
83
+ deviceId?: string;
84
+ topics?: string[];
85
+ authAppId?: string;
86
+ }
87
+ interface BrowserPushTokenOptions {
88
+ /** Service worker registration used for PushManager subscription. */
89
+ serviceWorkerRegistration?: ServiceWorkerRegistration;
90
+ /** Existing PushSubscription to reuse instead of subscribing again. */
91
+ subscription?: PushSubscription;
92
+ /** Public VAPID key used when creating a new PushSubscription. */
93
+ applicationServerKey?: string;
94
+ /** When true, unsubscribe old subscriptions before creating a new one. */
95
+ forceResubscribe?: boolean;
96
+ }
97
+ interface BrowserPushRegistrationOptions extends BrowserPushTokenOptions {
98
+ /** Optional explicit platform label. Defaults to "web". */
99
+ platform?: string;
100
+ deviceId?: string;
101
+ topics?: string[];
102
+ authAppId?: string;
103
+ }
104
+ interface SendPushNotificationInput {
105
+ title?: string;
106
+ body?: string;
107
+ image?: string;
108
+ data?: Record<string, unknown>;
109
+ tokens?: string[];
110
+ uid?: string;
111
+ topic?: string;
112
+ priority?: "normal" | "high";
113
+ ttlSeconds?: number;
114
+ dryRun?: boolean;
115
+ authAppId?: string;
116
+ }
117
+ interface PushSendResult {
118
+ sent: boolean;
119
+ appId: string;
120
+ targetCount: number;
121
+ successCount: number;
122
+ failureCount: number;
123
+ invalidatedTokenCount: number;
124
+ dryRun: boolean;
125
+ }
126
+ interface SendEmailInput {
127
+ to: string | string[];
128
+ tag: string;
129
+ values?: Record<string, unknown>;
130
+ authAppId?: string;
131
+ }
132
+ interface EmailSendResult {
133
+ sent: boolean;
134
+ appId: string;
135
+ tag: string;
136
+ recipientCount: number;
137
+ acceptedCount: number;
138
+ rejectedCount: number;
139
+ includeVerificationLink?: boolean;
140
+ linkId?: string;
141
+ verifyUrl?: string;
142
+ messageId?: string;
143
+ }
144
+ interface VerifyEmailLinkInput {
145
+ token: string;
146
+ tag?: string;
147
+ email?: string;
148
+ authAppId?: string;
149
+ }
150
+ interface EmailLinkVerifyResult {
151
+ verified: boolean;
152
+ alreadyVerified: boolean;
153
+ appId: string;
154
+ linkId: string;
155
+ email: string;
156
+ tag: string;
157
+ verifiedAt?: string;
158
+ acceptedByUid?: string;
159
+ }
68
160
  type AuthStateListener = (session: FlareAuthSession & FlareAuthUser | null) => void;
69
161
  type AuthConfigListener = (conf: FlareAuthConfig) => void;
70
162
  interface SubscribeOptions {
@@ -167,7 +259,7 @@ interface VectorSearchClause {
167
259
  metric?: "cosine" | "euclidean" | "dotProduct";
168
260
  minScore?: number;
169
261
  }
170
- /** Full structured query (Firestore + SQL feature set) */
262
+ /** Full structured query (document query + SQL-style feature set) */
171
263
  interface StructuredQuery {
172
264
  where?: AnyFilter[];
173
265
  orderBy?: OrderByClause[];
@@ -781,6 +873,7 @@ declare class FlareAuth<TPresetMap extends QueryPresetMap = {}> extends FlareBas
781
873
  protected csrfInitPromise?: Promise<void>;
782
874
  protected csrfBootstrapAttempted: boolean;
783
875
  protected socketAuthSyncPromise?: Promise<void>;
876
+ protected pushServiceWorkerInitPromise?: Promise<ServiceWorkerRegistration | null>;
784
877
  protected authSession: FlareAuthSession | null;
785
878
  protected authStateListeners: AuthStateListener[];
786
879
  protected authConfigListeners: AuthConfigListener[];
@@ -977,6 +1070,39 @@ declare class FlareAuth<TPresetMap extends QueryPresetMap = {}> extends FlareBas
977
1070
  email: string;
978
1071
  sessionsRevoked?: number;
979
1072
  }>;
1073
+ private toUint8ArrayFromBase64Url;
1074
+ private encodePushTokenFromSubscription;
1075
+ private fetchPushSetupConfig;
1076
+ setupPushServiceWorker(): Promise<ServiceWorkerRegistration | null>;
1077
+ requestPushPermission(): Promise<NotificationPermission>;
1078
+ acquireBrowserPushToken(options?: BrowserPushTokenOptions): Promise<{
1079
+ token: string;
1080
+ subscription: PushSubscription;
1081
+ }>;
1082
+ enableBrowserPush(options?: BrowserPushRegistrationOptions): Promise<{
1083
+ registered: boolean;
1084
+ appId: string;
1085
+ uid: string;
1086
+ token: string;
1087
+ platform?: string;
1088
+ subscription: PushSubscription;
1089
+ }>;
1090
+ registerPushToken(input: RegisterPushTokenInput): Promise<{
1091
+ registered: boolean;
1092
+ appId: string;
1093
+ uid: string;
1094
+ token: string;
1095
+ platform?: string;
1096
+ }>;
1097
+ unregisterPushToken(token: string, authAppId?: string): Promise<{
1098
+ unregistered: boolean;
1099
+ appId: string;
1100
+ token: string;
1101
+ removed: boolean;
1102
+ }>;
1103
+ sendPushNotification(input: SendPushNotificationInput): Promise<PushSendResult>;
1104
+ sendEmail(input: SendEmailInput): Promise<EmailSendResult>;
1105
+ verifyEmailLink(input: VerifyEmailLinkInput): Promise<EmailLinkVerifyResult>;
980
1106
  signIn(providerId: ProviderId, options?: {
981
1107
  returnTo?: string;
982
1108
  metaTag?: string;
@@ -1062,7 +1188,10 @@ declare class FlareAuth<TPresetMap extends QueryPresetMap = {}> extends FlareBas
1062
1188
  */
1063
1189
 
1064
1190
  declare class FlareClient<TPresetMap extends QueryPresetMap = {}> extends FlareAuth<TPresetMap> {
1191
+ private autoPushRegisteredIdentity?;
1065
1192
  constructor(config: FlareConfig);
1193
+ private enableAutoPushNotificationsAfterAuth;
1194
+ autoEnablePushNotifications(): Promise<void>;
1066
1195
  }
1067
1196
 
1068
1197
  /**
@@ -1253,4 +1382,4 @@ declare const getFlare: () => FlareClient | null;
1253
1382
  */
1254
1383
  declare const disconnectFlare: () => void;
1255
1384
 
1256
- export { type AggregateFunction, type AggregateSpec, type AnyFilter, type AuthConfigListener, type AuthConfigResponse, type AuthResult, type AuthStateListener, type AuthWithPendingVerificationResult, type AuthWithTokenResult, type BaseMessage, type ChangeEvent, type ChangeOperation, type CollectionPresetMethods, type CollectionQuery, CollectionReference, type ConnectionState, type CsrfProxyConfig, type CursorValue, type DocAddedCallback, type DocChangedCallback, type DocDeletedCallback, type DocUpdatedCallback, DocumentQueryBuilder, DocumentReference, type DocumentSnapshot, FlareAction, type FlareAuthConfig, type FlareAuthProviderId, type FlareAuthProviderPublicConfig, type FlareAuthSession, type FlareAuthUser, type FlareConfig, FlareError, FlareErrors, FlareEvent, FlareResponseCodes, type FlareRule, type GroupByClause, type HavingClause, type JoinClause, type JoinQueryPattern, type NestedJoinClause, type OfflineOperation, type OrFilter, type OrderByClause, type PresenceCallback, type PresenceJoinCallback, type PresenceLeaveCallback, type PresenceMember, type QueryConfig, type QueryOperator, type QueryPresetMap, type QueryPresetParams, type QueryPresetRow, type QueryPresetSpec, type QuerySnapshot, type RulePermission, type SecurityRuleEntry, type SecurityRulesMap, type SnapshotEvent, type StructuredJoinClause, type StructuredQuery, type SubscribeMessage, type SubscribeOptions, type SubscriptionCallback, type SubscriptionData, type SubscriptionError, type SubscriptionErrorCallback, type SubscriptionHandle, type VectorFieldConfig, type VectorSearchClause, type WhereCondition, buildFlareHeaders, connectApp, createCsrfProxy, createCsrfProxyHandler, FlareClient as default, disconnectFlare, extractCsrfFromRequest, flareRulesToSecurityMap, getFlare, parseValue, parseWhereCondition, securityMapToFlareRules };
1385
+ export { type AggregateFunction, type AggregateSpec, type AnyFilter, type AuthConfigListener, type AuthConfigResponse, type AuthResult, type AuthStateListener, type AuthWithPendingVerificationResult, type AuthWithTokenResult, type BaseMessage, type BrowserPushRegistrationOptions, type BrowserPushTokenOptions, type ChangeEvent, type ChangeOperation, type CollectionPresetMethods, type CollectionQuery, CollectionReference, type ConnectionState, type CsrfProxyConfig, type CursorValue, type DocAddedCallback, type DocChangedCallback, type DocDeletedCallback, type DocUpdatedCallback, DocumentQueryBuilder, DocumentReference, type DocumentSnapshot, type EmailLinkVerifyResult, type EmailSendResult, FlareAction, type FlareAuthConfig, type FlareAuthProviderId, type FlareAuthProviderPublicConfig, type FlareAuthSession, type FlareAuthUser, type FlareConfig, FlareError, FlareErrors, FlareEvent, FlareResponseCodes, type FlareRule, type GroupByClause, type HavingClause, type JoinClause, type JoinQueryPattern, type NestedJoinClause, type OfflineOperation, type OrFilter, type OrderByClause, type PresenceCallback, type PresenceJoinCallback, type PresenceLeaveCallback, type PresenceMember, type PushSendResult, type QueryConfig, type QueryOperator, type QueryPresetMap, type QueryPresetParams, type QueryPresetRow, type QueryPresetSpec, type QuerySnapshot, type RegisterPushTokenInput, type RulePermission, type SecurityRuleEntry, type SecurityRulesMap, type SendEmailInput, type SendPushNotificationInput, type SnapshotEvent, type StructuredJoinClause, type StructuredQuery, type SubscribeMessage, type SubscribeOptions, type SubscriptionCallback, type SubscriptionData, type SubscriptionError, type SubscriptionErrorCallback, type SubscriptionHandle, type VectorFieldConfig, type VectorSearchClause, type VerifyEmailLinkInput, type WhereCondition, buildFlareHeaders, connectApp, createCsrfProxy, createCsrfProxyHandler, FlareClient as default, disconnectFlare, extractCsrfFromRequest, flareRulesToSecurityMap, getFlare, parseValue, parseWhereCondition, securityMapToFlareRules };