@streamlayer/react 0.10.10 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -69,6 +69,7 @@ declare module "packages/react-ui/src/lib/theme/theme" {
69
69
  BG_TRANSPARENT_VOTE_PROGRESS_SUCCESS: string;
70
70
  BG_TRANSPARENT_VOTE_PROGRESS_ERROR: string;
71
71
  BG_TRANSPARENT_USER_CONTAINER: string;
72
+ BG_TRANSPARENT_ONBOARDING_INAPP: string;
72
73
  BLUE_PRIMARY: string;
73
74
  RED_PRIMARY: string;
74
75
  RED_SECONDARY: string;
@@ -78,6 +79,7 @@ declare module "packages/react-ui/src/lib/theme/theme" {
78
79
  GREY_2: string;
79
80
  GREY_3: string;
80
81
  GREY_4: string;
82
+ GREY_PRIMARY_ONBOARDING_INAPP: string;
81
83
  BLACK_1: string;
82
84
  GREEN_1: string;
83
85
  RED_1: string;
@@ -153,543 +155,188 @@ declare module "packages/react-ui/src/lib/login/index" {
153
155
  host: string;
154
156
  }>;
155
157
  }
156
- declare module "packages/react-ui/src/lib/gamification/onboarding/styles" {
157
- export const Container: import("@emotion/styled").StyledComponent<{
158
- theme?: import("@emotion/react").Theme | undefined;
159
- as?: import("react").ElementType<any> | undefined;
160
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
161
- export const Content: import("@emotion/styled").StyledComponent<{
162
- theme?: import("@emotion/react").Theme | undefined;
163
- as?: import("react").ElementType<any> | undefined;
164
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
165
- export const Description: import("@emotion/styled").StyledComponent<{
166
- theme?: import("@emotion/react").Theme | undefined;
167
- as?: import("react").ElementType<any> | undefined;
168
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
169
- export const Title: import("@emotion/styled").StyledComponent<{
170
- theme?: import("@emotion/react").Theme | undefined;
171
- as?: import("react").ElementType<any> | undefined;
172
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
173
- export const OnboardingActionBtn: import("@emotion/styled").StyledComponent<{
174
- theme?: import("@emotion/react").Theme | undefined;
175
- as?: import("react").ElementType<any> | undefined;
176
- }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
158
+ declare module "packages/sdk-web-interfaces/src/auth" {
159
+ export abstract class AbstractAuthenticationProvider {
160
+ abstract login(...args: unknown[]): Promise<unknown>;
161
+ abstract logout(): void;
162
+ abstract me(): Promise<unknown>;
163
+ abstract isAuthenticated(): Promise<unknown>;
164
+ }
177
165
  }
178
- declare module "packages/react-ui/src/lib/gamification/onboarding/index" {
179
- type OnboardingType = {
180
- action: () => void;
166
+ declare module "packages/sdk-web-interfaces/src/store/abstract" {
167
+ import type { AnyStore } from 'nanostores';
168
+ global {
169
+ interface Window {
170
+ storeLogger: any;
171
+ }
172
+ }
173
+ /**
174
+ * An abstract store is a wrapper for third-party stores,
175
+ * providing developers with a consistent interface inspired
176
+ * by the "nanostore" pattern. This simplifies
177
+ * interactions with different storage systems.
178
+ */
179
+ export abstract class AbstractStore<T extends AnyStore> {
180
+ /**
181
+ * store instance (nanostores)
182
+ */
183
+ protected readonly store: T;
184
+ protected readonly name: string;
185
+ constructor(store: T, name: string);
186
+ /**
187
+ * return store instance
188
+ */
189
+ getStore(): T;
190
+ /**
191
+ * get all store values
192
+ */
193
+ abstract getValues(): unknown;
194
+ /**
195
+ * get store value by key
196
+ */
197
+ abstract getValue(...args: unknown[]): unknown;
198
+ /**
199
+ * subsribe directly to store changes
200
+ */
201
+ abstract subscribe(...args: unknown[]): void;
202
+ /**
203
+ * unsubsribe directly to store change
204
+ */
205
+ abstract unsubscribe(): void;
206
+ }
207
+ /**
208
+ * Merge multiple stores into a single instance using a single
209
+ * subscribe handler, leveraging the `useStore` method from `@nanostores/react` for React subscriptions.
210
+ */
211
+ export const mergeStores: <T extends Record<string, AbstractStore<AnyStore>>, K = { [Index in keyof T]: ReturnType<T[Index]["getStore"]>["value"]; }>(stores: T) => import("nanostores").ReadableAtom<K>;
212
+ }
213
+ declare module "packages/sdk-web-interfaces/src/store/map" {
214
+ import type { MapStoreKeys, MapStore as NMapStore } from 'nanostores';
215
+ import { AbstractStore } from "packages/sdk-web-interfaces/src/store/abstract";
216
+ /**
217
+ * Wrapper for nanostores MapStore
218
+ */
219
+ export class MapStore<StoreInterface extends object, StoreInstance extends NMapStore<StoreInterface> = NMapStore<StoreInterface>> extends AbstractStore<StoreInstance> {
220
+ getValues: () => StoreInterface;
221
+ getValue: (key: MapStoreKeys<StoreInstance>) => StoreInterface[MapStoreKeys<StoreInstance>];
222
+ setValue: <Key extends MapStoreKeys<StoreInstance>>(path: Key, value: StoreInterface[Key]) => void;
223
+ subscribe: StoreInstance['subscribe'];
224
+ unsubscribe: () => void;
225
+ }
226
+ /**
227
+ * create map store from nanostores
228
+ */
229
+ export const createMapStore: <Data extends object>(initialData: Data) => NMapStore<Data>;
230
+ export type MapStoreListeners<StoreInstance extends NMapStore<StoreInterface>, StoreInterface extends object> = {
231
+ [T in MapStoreKeys<StoreInstance>]: (value: StoreInterface[T]) => void;
181
232
  };
182
- export const Onboarding: React.FC<OnboardingType>;
183
233
  }
184
- declare module "packages/sdk-web-types/src/sl-types" {
234
+ declare module "packages/sdk-web-interfaces/src/feature" {
235
+ import { SdkOverlay, SdkOverlaySettings } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
185
236
  import { PlainMessage } from '@bufbuild/protobuf';
186
- import type { StreamSettings as SLStreamSettings, SdkOverlay, Advertising, OrganizationSettings as SLOrganizationSettings } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
187
- import type { ClientSettings } from '@streamlayer/sl-eslib/sdkSettings/client/client_pb';
188
- import type { UserAttributes } from '@streamlayer/sl-eslib/users/users_common_pb';
189
- export { QuestionType, QuestionStatus } from '@streamlayer/sl-eslib/interactive/interactive.common_pb';
190
- import type { PickHistory as IPickHistory } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
191
- export { PickHistoryStatus } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
192
- export type PickHistory = PlainMessage<IPickHistory>;
193
- export type OrganizationSettings = SLOrganizationSettings;
194
- export type OrganizationAdvertising = Advertising;
195
- export type FeatureConfig = SdkOverlay;
196
- export type StreamSettings = SLStreamSettings;
197
- export type User = UserAttributes;
198
- export type UserSettings = ClientSettings;
199
- export { SdkOverlayType as FeatureType } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
200
- }
201
- declare module "packages/sdk-web-types/src/index" {
202
- export * from "packages/sdk-web-types/src/sl-types";
203
- }
204
- declare module "packages/react-ui/src/lib/gamification/question/styles" {
205
- export const Panel: import("@emotion/styled").StyledComponent<{
206
- theme?: import("@emotion/react").Theme | undefined;
207
- as?: import("react").ElementType<any> | undefined;
208
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
209
- export const QuestionTypeIconWrap: import("@emotion/styled").StyledComponent<{
210
- theme?: import("@emotion/react").Theme | undefined;
211
- as?: import("react").ElementType<any> | undefined;
212
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
213
- export const QuestionTypeIcon: import("@emotion/styled").StyledComponent<{
214
- theme?: import("@emotion/react").Theme | undefined;
215
- as?: import("react").ElementType<any> | undefined;
216
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
217
- export const QuestionContent: import("@emotion/styled").StyledComponent<{
218
- theme?: import("@emotion/react").Theme | undefined;
219
- as?: import("react").ElementType<any> | undefined;
220
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
221
- export const QuestionTypeLabel: import("@emotion/styled").StyledComponent<{
222
- theme?: import("@emotion/react").Theme | undefined;
223
- as?: import("react").ElementType<any> | undefined;
224
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
225
- export const QuestionSubject: import("@emotion/styled").StyledComponent<{
226
- theme?: import("@emotion/react").Theme | undefined;
227
- as?: import("react").ElementType<any> | undefined;
228
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
229
- export const QuestionActionTitle: import("@emotion/styled").StyledComponent<{
230
- theme?: import("@emotion/react").Theme | undefined;
231
- as?: import("react").ElementType<any> | undefined;
232
- }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
233
- export const QuestionActionIcon: import("@emotion/styled").StyledComponent<{
234
- theme?: import("@emotion/react").Theme | undefined;
235
- as?: import("react").ElementType<any> | undefined;
236
- }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
237
- export const QuestionStatusIcon: import("@emotion/styled").StyledComponent<{
238
- theme?: import("@emotion/react").Theme | undefined;
239
- as?: import("react").ElementType<any> | undefined;
240
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
241
- export const QuestionTypeTitle: import("@emotion/styled").StyledComponent<{
242
- theme?: import("@emotion/react").Theme | undefined;
243
- as?: import("react").ElementType<any> | undefined;
244
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
245
- export const ExpiredQuestion: import("@emotion/styled").StyledComponent<{
246
- theme?: import("@emotion/react").Theme | undefined;
247
- as?: import("react").ElementType<any> | undefined;
248
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
249
- }
250
- declare module "packages/react-ui/src/lib/gamification/question/index" {
251
- import { type PickHistory } from "packages/sdk-web-types/src/index";
252
- export const Question: React.FC<{
253
- openQuestion?: (questionId: string) => void;
254
- } & PickHistory>;
255
- }
256
- declare module "packages/react-ui/src/lib/gamification/question-list/styles" {
257
- export const Container: import("@emotion/styled").StyledComponent<{
258
- theme?: import("@emotion/react").Theme | undefined;
259
- as?: import("react").ElementType<any> | undefined;
260
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
261
- export const Title: import("@emotion/styled").StyledComponent<{
262
- theme?: import("@emotion/react").Theme | undefined;
263
- as?: import("react").ElementType<any> | undefined;
264
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
265
- export const ItemsContainer: import("@emotion/styled").StyledComponent<{
266
- theme?: import("@emotion/react").Theme | undefined;
267
- as?: import("react").ElementType<any> | undefined;
268
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
269
- }
270
- declare module "packages/react-ui/src/lib/gamification/question-list/index" {
271
- import type { PickHistory } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
272
- interface QuestionListProps {
273
- questions: PickHistory[];
274
- openQuestion: (questionId: string) => void;
237
+ import { WritableAtom } from 'nanostores';
238
+ import { MapStore } from "packages/sdk-web-interfaces/src/store/map";
239
+ type FeatureListener = {
240
+ name: string;
241
+ enabled: boolean;
242
+ onEvent: (...args: unknown[]) => void;
243
+ };
244
+ export type FeatureProps = PlainMessage<SdkOverlay>;
245
+ export enum FeatureSource {
246
+ ORGANIZATION = "ORGANIZATION",
247
+ STREAM = "STREAM"
275
248
  }
276
- export const QuestionList: React.FC<QuestionListProps>;
277
- }
278
- declare module "packages/react-ui/src/utils/common" {
279
- export const abbreviate: (name: string) => string;
280
- }
281
- declare module "packages/react-ui/src/lib/gamification/user-statistics/components/statistics/styles" {
282
- export const Container: import("@emotion/styled").StyledComponent<{
283
- theme?: import("@emotion/react").Theme | undefined;
284
- as?: import("react").ElementType<any> | undefined;
285
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
286
- export const Indicator: import("@emotion/styled").StyledComponent<{
287
- theme?: import("@emotion/react").Theme | undefined;
288
- as?: import("react").ElementType<any> | undefined;
289
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
290
- }
291
- declare module "packages/react-ui/src/lib/gamification/user-statistics/components/statistics/index" {
292
- interface StatisticsProps {
293
- indicator: string | number;
294
- title: 'Win streak' | 'Correct' | 'Incorrect' | 'Success rate';
249
+ type FeatureConfig = Omit<FeatureProps, 'settings'>;
250
+ type FeatureSettings = Exclude<PlainMessage<SdkOverlaySettings>['overlaySettings'], {
251
+ case: 'inplay';
252
+ } | {
253
+ case: 'getstream';
254
+ } | {
255
+ case: undefined;
256
+ }>;
257
+ export enum FeatureStatus {
258
+ Ready = "ready",
259
+ Suspended = "suspended"
260
+ }
261
+ export abstract class AbstractFeature<K extends FeatureSettings['case'] | undefined, C extends FeatureSettings['value'] = FeatureSettings['value']> {
262
+ status: WritableAtom<FeatureStatus>;
263
+ source: FeatureSource;
264
+ protected config: MapStore<FeatureConfig>;
265
+ protected settings: MapStore<C>;
266
+ protected listeners: Set<FeatureListener>;
267
+ protected settingsKey: K;
268
+ constructor({ settings, ...config }: FeatureProps, source: FeatureSource);
269
+ get featureConfig(): import("nanostores").MapStore<FeatureConfig>;
270
+ get featureSettings(): import("nanostores").MapStore<C>;
271
+ registerEventListener(listener: FeatureListener): void;
272
+ enable: () => void;
273
+ disable: () => void;
274
+ setFeatureConfig: ({ settings, ...config }: FeatureProps) => void;
275
+ update: (config: FeatureProps, source: FeatureSource) => void;
276
+ protected fireEvent(event: unknown): void;
295
277
  }
296
- export const Statistics: React.FC<StatisticsProps>;
297
278
  }
298
- declare module "packages/react-ui/src/lib/gamification/user-statistics/components/rank/styles" {
299
- export const Container: import("@emotion/styled").StyledComponent<{
300
- theme?: import("@emotion/react").Theme | undefined;
301
- as?: import("react").ElementType<any> | undefined;
302
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
303
- export const Title: import("@emotion/styled").StyledComponent<{
304
- theme?: import("@emotion/react").Theme | undefined;
305
- as?: import("react").ElementType<any> | undefined;
306
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
307
- export const Indicator: import("@emotion/styled").StyledComponent<{
308
- theme?: import("@emotion/react").Theme | undefined;
309
- as?: import("react").ElementType<any> | undefined;
310
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
311
- }
312
- declare module "packages/react-ui/src/lib/gamification/user-statistics/components/rank/index" {
313
- interface RankProps {
314
- indicator: string | number;
315
- title: 'Friens rank' | 'Global rank';
279
+ declare module "packages/sdk-web-interfaces/src/store/single" {
280
+ import type { WritableAtom } from 'nanostores';
281
+ import { AbstractStore } from "packages/sdk-web-interfaces/src/store/abstract";
282
+ /**
283
+ * Wrapper for nanostores WritableAtom
284
+ */
285
+ export class SingleStore<StoreValue, StoreInstance extends WritableAtom<StoreValue | undefined> = WritableAtom<StoreValue | undefined>> extends AbstractStore<StoreInstance> {
286
+ getValue: () => StoreInstance['value'];
287
+ getValues(): unknown;
288
+ setValue: (value?: StoreValue) => void;
289
+ subscribe: (listener: Parameters<StoreInstance['subscribe']>[0]) => () => void;
290
+ unsubscribe: () => void;
291
+ listen(listener: Parameters<StoreInstance['subscribe']>[0]): () => void;
292
+ get(): StoreValue | undefined;
316
293
  }
317
- export const Rank: React.FC<RankProps>;
318
- }
319
- declare module "packages/react-ui/src/lib/gamification/user-statistics/styles" {
320
- export const Container: import("@emotion/styled").StyledComponent<{
321
- theme?: import("@emotion/react").Theme | undefined;
322
- as?: import("react").ElementType<any> | undefined;
323
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
324
- export const TopInfo: import("@emotion/styled").StyledComponent<{
325
- theme?: import("@emotion/react").Theme | undefined;
326
- as?: import("react").ElementType<any> | undefined;
327
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
328
- export const BottomInfo: import("@emotion/styled").StyledComponent<{
329
- theme?: import("@emotion/react").Theme | undefined;
330
- as?: import("react").ElementType<any> | undefined;
331
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
332
- export const User: import("@emotion/styled").StyledComponent<{
333
- theme?: import("@emotion/react").Theme | undefined;
334
- as?: import("react").ElementType<any> | undefined;
335
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
336
- export const Avatar: import("@emotion/styled").StyledComponent<{
337
- theme?: import("@emotion/react").Theme | undefined;
338
- as?: import("react").ElementType<any> | undefined;
339
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
340
- export const UserInfo: import("@emotion/styled").StyledComponent<{
341
- theme?: import("@emotion/react").Theme | undefined;
342
- as?: import("react").ElementType<any> | undefined;
343
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
344
- export const UserName: import("@emotion/styled").StyledComponent<{
345
- theme?: import("@emotion/react").Theme | undefined;
346
- as?: import("react").ElementType<any> | undefined;
347
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
348
- export const UserRating: import("@emotion/styled").StyledComponent<{
349
- theme?: import("@emotion/react").Theme | undefined;
350
- as?: import("react").ElementType<any> | undefined;
351
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
352
- export const TrophyIcon: import("@emotion/styled").StyledComponent<{
353
- theme?: import("@emotion/react").Theme | undefined;
354
- as?: import("react").ElementType<any> | undefined;
355
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
356
- export const Rts: import("@emotion/styled").StyledComponent<{
357
- theme?: import("@emotion/react").Theme | undefined;
358
- as?: import("react").ElementType<any> | undefined;
359
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
360
- export const RtsIndicator: import("@emotion/styled").StyledComponent<{
361
- theme?: import("@emotion/react").Theme | undefined;
362
- as?: import("react").ElementType<any> | undefined;
363
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
364
- export const Top: import("@emotion/styled").StyledComponent<{
365
- theme?: import("@emotion/react").Theme | undefined;
366
- as?: import("react").ElementType<any> | undefined;
367
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
368
- export const Ranks: import("@emotion/styled").StyledComponent<{
369
- theme?: import("@emotion/react").Theme | undefined;
370
- as?: import("react").ElementType<any> | undefined;
371
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
372
- export const AvatarPlaceholder: import("@emotion/styled").StyledComponent<{
373
- theme?: import("@emotion/react").Theme | undefined;
374
- as?: import("react").ElementType<any> | undefined;
375
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
376
- export const UserAccountBtn: import("@emotion/styled").StyledComponent<{
377
- theme?: import("@emotion/react").Theme | undefined;
378
- as?: import("react").ElementType<any> | undefined;
379
- }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
294
+ /**
295
+ * create atom store from nanostores
296
+ */
297
+ export const createSingleStore: <T>(initialData?: T | undefined) => WritableAtom<T | undefined>;
380
298
  }
381
- declare module "packages/react-ui/src/lib/gamification/user-statistics/index" {
382
- interface UserStatisticsProps {
383
- avatar: string;
384
- name: string;
385
- points: number;
386
- grade: string;
387
- friendsRank: number;
388
- globalRank: number;
389
- winStreak: number;
390
- correct: number;
391
- incorrect: number;
392
- successRate?: number;
393
- toggleAccountPage: (flag: boolean) => void;
299
+ declare module "packages/sdk-web-interfaces/src/store/api" {
300
+ import type { FetcherStore } from '@nanostores/query';
301
+ import { WritableAtom } from 'nanostores';
302
+ import { AbstractStore } from "packages/sdk-web-interfaces/src/store/abstract";
303
+ /**
304
+ * Wrapper for @nanostores/query FetcherStore
305
+ */
306
+ export class ApiStore<StoreValue, StoreInstance extends FetcherStore<StoreValue | undefined> = FetcherStore<StoreValue | undefined>> extends AbstractStore<StoreInstance> {
307
+ private readonly atomStore;
308
+ constructor(store: StoreInstance, name: string, atomPicker?: (val?: StoreInstance['value']) => string | undefined);
309
+ getAtomStore: () => WritableAtom<string | undefined>;
310
+ getValue: () => Promise<StoreValue | undefined>;
311
+ getValues: () => never;
312
+ setValue: (value?: StoreInstance['value']) => void;
313
+ subscribe: StoreInstance['subscribe'];
314
+ unsubscribe: () => never;
315
+ invalidate: () => void;
316
+ listen: (cb: Parameters<FetcherStore['listen']>[0]) => () => void;
317
+ get(): void;
318
+ key: () => string | undefined;
319
+ off: () => void;
394
320
  }
395
- export const UserStatistics: React.FC<UserStatisticsProps>;
396
- }
397
- declare module "packages/react-ui/src/lib/gamification/vote/components/voting-option/styles" {
398
- export const Container: import("@emotion/styled").StyledComponent<{
399
- theme?: import("@emotion/react").Theme | undefined;
400
- as?: import("react").ElementType<any> | undefined;
401
- } & {
402
- questionAnswered: boolean;
403
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
404
- export const AnsweredContainer: import("@emotion/styled").StyledComponent<{
405
- theme?: import("@emotion/react").Theme | undefined;
406
- as?: import("react").ElementType<any> | undefined;
407
- } & {
408
- questionAnswered: boolean;
409
- } & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
410
- theme?: import("@emotion/react").Theme | undefined;
411
- } & {
412
- answeredCorrect: boolean;
413
- }, {}, {}>;
414
- export const ButtonPct: import("@emotion/styled").StyledComponent<{
415
- theme?: import("@emotion/react").Theme | undefined;
416
- as?: import("react").ElementType<any> | undefined;
417
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
418
- export const Button: import("@emotion/styled").StyledComponent<{
419
- theme?: import("@emotion/react").Theme | undefined;
420
- as?: import("react").ElementType<any> | undefined;
421
- }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
422
- export const Icon: import("@emotion/styled").StyledComponent<{
423
- theme?: import("@emotion/react").Theme | undefined;
424
- as?: import("react").ElementType<any> | undefined;
425
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
426
- export const Title: import("@emotion/styled").StyledComponent<{
427
- theme?: import("@emotion/react").Theme | undefined;
428
- as?: import("react").ElementType<any> | undefined;
429
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
430
- export const Indicators: import("@emotion/styled").StyledComponent<{
431
- theme?: import("@emotion/react").Theme | undefined;
432
- as?: import("react").ElementType<any> | undefined;
433
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
434
- export const CheckIconWrap: import("@emotion/styled").StyledComponent<{
435
- theme?: import("@emotion/react").Theme | undefined;
436
- as?: import("react").ElementType<any> | undefined;
437
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
438
- export const Percentage: import("@emotion/styled").StyledComponent<{
439
- theme?: import("@emotion/react").Theme | undefined;
440
- as?: import("react").ElementType<any> | undefined;
441
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
442
- export const CheckIcon: import("@emotion/styled").StyledComponent<{
443
- theme?: import("@emotion/react").Theme | undefined;
444
- as?: import("react").ElementType<any> | undefined;
445
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
446
321
  }
447
- declare module "packages/react-ui/src/lib/gamification/vote/components/voting-option/index" {
448
- interface VotingOptionProps {
449
- icon: string;
450
- title: string;
451
- id: string;
452
- questionId: string;
453
- percentage: number;
454
- disabled: boolean;
455
- correct: boolean;
456
- questionAnswered: boolean;
457
- hasCorrectAnswer: boolean;
458
- answered: boolean;
459
- onVote: (questionId: string, answerId: string) => void;
460
- toggleIsLoadingSubmitAnswer: (flag: boolean) => void;
322
+ declare module "packages/sdk-web-interfaces/src/index" {
323
+ export { AbstractAuthenticationProvider } from "packages/sdk-web-interfaces/src/auth";
324
+ export { AbstractFeature, FeatureSource, type FeatureProps, FeatureStatus } from "packages/sdk-web-interfaces/src/feature";
325
+ export { MapStore, createMapStore } from "packages/sdk-web-interfaces/src/store/map";
326
+ export type { MapStoreListeners } from "packages/sdk-web-interfaces/src/store/map";
327
+ export { SingleStore, createSingleStore } from "packages/sdk-web-interfaces/src/store/single";
328
+ export { AbstractStore, mergeStores } from "packages/sdk-web-interfaces/src/store/abstract";
329
+ export { ApiStore } from "packages/sdk-web-interfaces/src/store/api";
330
+ export interface StreamLayerSDK {
461
331
  }
462
- export const VotingOption: React.FC<VotingOptionProps>;
463
- }
464
- declare module "packages/react-ui/src/lib/gamification/vote/styles" {
465
- export const Container: import("@emotion/styled").StyledComponent<{
466
- theme?: import("@emotion/react").Theme | undefined;
467
- as?: import("react").ElementType<any> | undefined;
468
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
469
- export const Title: import("@emotion/styled").StyledComponent<{
470
- theme?: import("@emotion/react").Theme | undefined;
471
- as?: import("react").ElementType<any> | undefined;
472
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
473
- export const Options: import("@emotion/styled").StyledComponent<{
474
- theme?: import("@emotion/react").Theme | undefined;
475
- as?: import("react").ElementType<any> | undefined;
476
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
477
- export const Loader: import("@emotion/styled").StyledComponent<{
478
- theme?: import("@emotion/react").Theme | undefined;
479
- as?: import("react").ElementType<any> | undefined;
480
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
481
- export const Feedback: import("@emotion/styled").StyledComponent<{
482
- theme?: import("@emotion/react").Theme | undefined;
483
- as?: import("react").ElementType<any> | undefined;
484
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
485
- export const FeedbackIcon: import("@emotion/styled").StyledComponent<{
486
- theme?: import("@emotion/react").Theme | undefined;
487
- as?: import("react").ElementType<any> | undefined;
488
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
489
- export const FeedbackTitle: import("@emotion/styled").StyledComponent<{
490
- theme?: import("@emotion/react").Theme | undefined;
491
- as?: import("react").ElementType<any> | undefined;
492
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
493
- export const FeedbackDescription: import("@emotion/styled").StyledComponent<{
494
- theme?: import("@emotion/react").Theme | undefined;
495
- as?: import("react").ElementType<any> | undefined;
496
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
497
- }
498
- declare module "packages/react-ui/src/lib/gamification/vote/index" {
499
- import { QuestionType } from "packages/sdk-web-types/src/index";
500
- interface VoteProps {
501
- title: string;
502
- questionId: string;
503
- options: any[];
504
- questionType: QuestionType;
505
- feedbackMessages: any;
506
- questionAnswered: boolean;
507
- questionAnsweredCorrectly?: boolean;
332
+ export interface StreamLayerContext {
333
+ sdk: StreamLayerSDK;
508
334
  }
509
- export const Vote: React.FC<VoteProps>;
335
+ type DoneFn = Function;
336
+ export type StreamLayerPlugin = (instance: StreamLayerContext, opts: unknown, done: DoneFn) => void;
510
337
  }
511
- declare module "packages/sdk-web-interfaces/src/auth" {
512
- export abstract class AbstractAuthenticationProvider {
513
- abstract login(...args: unknown[]): Promise<unknown>;
514
- abstract logout(): void;
515
- abstract me(): Promise<unknown>;
516
- abstract isAuthenticated(): Promise<unknown>;
517
- }
518
- }
519
- declare module "packages/sdk-web-interfaces/src/store/abstract" {
520
- import type { AnyStore } from 'nanostores';
521
- global {
522
- interface Window {
523
- storeLogger: any;
524
- }
525
- }
526
- /**
527
- * An abstract store is a wrapper for third-party stores,
528
- * providing developers with a consistent interface inspired
529
- * by the "nanostore" pattern. This simplifies
530
- * interactions with different storage systems.
531
- */
532
- export abstract class AbstractStore<T extends AnyStore> {
533
- /**
534
- * store instance (nanostores)
535
- */
536
- protected readonly store: T;
537
- protected readonly name: string;
538
- constructor(store: T, name: string);
539
- /**
540
- * return store instance
541
- */
542
- getStore(): T;
543
- /**
544
- * get all store values
545
- */
546
- abstract getValues(): unknown;
547
- /**
548
- * get store value by key
549
- */
550
- abstract getValue(...args: unknown[]): unknown;
551
- /**
552
- * subsribe directly to store changes
553
- */
554
- abstract subscribe(...args: unknown[]): void;
555
- /**
556
- * unsubsribe directly to store change
557
- */
558
- abstract unsubscribe(): void;
559
- }
560
- /**
561
- * Merge multiple stores into a single instance using a single
562
- * subscribe handler, leveraging the `useStore` method from `@nanostores/react` for React subscriptions.
563
- */
564
- export const mergeStores: <T extends Record<string, AbstractStore<AnyStore>>, K = { [Index in keyof T]: ReturnType<T[Index]["getStore"]>["value"]; }>(stores: T) => import("nanostores").ReadableAtom<K>;
565
- }
566
- declare module "packages/sdk-web-interfaces/src/store/map" {
567
- import type { MapStoreKeys, MapStore as NMapStore } from 'nanostores';
568
- import { AbstractStore } from "packages/sdk-web-interfaces/src/store/abstract";
569
- /**
570
- * Wrapper for nanostores MapStore
571
- */
572
- export class MapStore<StoreInterface extends object, StoreInstance extends NMapStore<StoreInterface> = NMapStore<StoreInterface>> extends AbstractStore<StoreInstance> {
573
- getValues: () => StoreInterface;
574
- getValue: (key: MapStoreKeys<StoreInstance>) => StoreInterface[MapStoreKeys<StoreInstance>];
575
- setValue: <Key extends MapStoreKeys<StoreInstance>>(path: Key, value: StoreInterface[Key]) => void;
576
- subscribe: StoreInstance['subscribe'];
577
- unsubscribe: () => void;
578
- }
579
- /**
580
- * create map store from nanostores
581
- */
582
- export const createMapStore: <Data extends object>(initialData: Data) => NMapStore<Data>;
583
- export type MapStoreListeners<StoreInstance extends NMapStore<StoreInterface>, StoreInterface extends object> = {
584
- [T in MapStoreKeys<StoreInstance>]: (value: StoreInterface[T]) => void;
585
- };
586
- }
587
- declare module "packages/sdk-web-interfaces/src/feature" {
588
- import { SdkOverlay, SdkOverlaySettings } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
589
- import { PlainMessage } from '@bufbuild/protobuf';
590
- import { WritableAtom } from 'nanostores';
591
- import { MapStore } from "packages/sdk-web-interfaces/src/store/map";
592
- type FeatureListener = {
593
- name: string;
594
- enabled: boolean;
595
- onEvent: (...args: unknown[]) => void;
596
- };
597
- export type FeatureProps = PlainMessage<SdkOverlay>;
598
- export enum FeatureSource {
599
- ORGANIZATION = "ORGANIZATION",
600
- STREAM = "STREAM"
601
- }
602
- type FeatureConfig = Omit<FeatureProps, 'settings'>;
603
- type FeatureSettings = Exclude<PlainMessage<SdkOverlaySettings>['overlaySettings'], {
604
- case: 'inplay';
605
- } | {
606
- case: 'getstream';
607
- } | {
608
- case: undefined;
609
- }>;
610
- export enum FeatureStatus {
611
- Ready = "ready",
612
- Suspended = "suspended"
613
- }
614
- export abstract class AbstractFeature<K extends FeatureSettings['case'] | undefined, C extends FeatureSettings['value'] = FeatureSettings['value']> {
615
- status: WritableAtom<FeatureStatus>;
616
- source: FeatureSource;
617
- protected config: MapStore<FeatureConfig>;
618
- protected settings: MapStore<C>;
619
- protected listeners: Set<FeatureListener>;
620
- protected settingsKey: K;
621
- constructor({ settings, ...config }: FeatureProps, source: FeatureSource);
622
- get featureConfig(): import("nanostores").MapStore<FeatureConfig>;
623
- get featureSettings(): import("nanostores").MapStore<C>;
624
- registerEventListener(listener: FeatureListener): void;
625
- enable: () => void;
626
- disabled: () => void;
627
- setFeatureConfig: ({ settings, ...config }: FeatureProps) => void;
628
- update: (config: FeatureProps, source: FeatureSource) => void;
629
- protected fireEvent(event: unknown): void;
630
- }
631
- }
632
- declare module "packages/sdk-web-interfaces/src/store/single" {
633
- import type { WritableAtom } from 'nanostores';
634
- import { AbstractStore } from "packages/sdk-web-interfaces/src/store/abstract";
635
- /**
636
- * Wrapper for nanostores WritableAtom
637
- */
638
- export class SingleStore<StoreValue, StoreInstance extends WritableAtom<StoreValue | undefined> = WritableAtom<StoreValue | undefined>> extends AbstractStore<StoreInstance> {
639
- getValue: () => StoreInstance['value'];
640
- getValues(): unknown;
641
- setValue: (value?: StoreValue) => void;
642
- subscribe: (listener: Parameters<StoreInstance['subscribe']>[0]) => () => void;
643
- unsubscribe: () => void;
644
- listen(listener: Parameters<StoreInstance['subscribe']>[0]): () => void;
645
- get(): StoreValue | undefined;
646
- }
647
- /**
648
- * create atom store from nanostores
649
- */
650
- export const createSingleStore: <T>(initialData?: T | undefined) => WritableAtom<T | undefined>;
651
- }
652
- declare module "packages/sdk-web-interfaces/src/store/api" {
653
- import type { FetcherStore } from '@nanostores/query';
654
- import { WritableAtom } from 'nanostores';
655
- import { AbstractStore } from "packages/sdk-web-interfaces/src/store/abstract";
656
- /**
657
- * Wrapper for @nanostores/query FetcherStore
658
- */
659
- export class ApiStore<StoreValue, StoreInstance extends FetcherStore<StoreValue | undefined> = FetcherStore<StoreValue | undefined>> extends AbstractStore<StoreInstance> {
660
- private readonly atomStore;
661
- constructor(store: StoreInstance, name: string, atomPicker?: (val?: StoreInstance['value']) => string | undefined);
662
- getAtomStore: () => WritableAtom<string | undefined>;
663
- getValue: () => Promise<StoreValue | undefined>;
664
- getValues: () => never;
665
- setValue: (value?: StoreInstance['value']) => void;
666
- subscribe: StoreInstance['subscribe'];
667
- unsubscribe: () => never;
668
- invalidate: () => void;
669
- listen: (cb: Parameters<FetcherStore['listen']>[0]) => () => void;
670
- get(): void;
671
- key: () => string | undefined;
672
- off: () => void;
673
- }
674
- }
675
- declare module "packages/sdk-web-interfaces/src/index" {
676
- export { AbstractAuthenticationProvider } from "packages/sdk-web-interfaces/src/auth";
677
- export { AbstractFeature, FeatureSource, type FeatureProps } from "packages/sdk-web-interfaces/src/feature";
678
- export { MapStore, createMapStore } from "packages/sdk-web-interfaces/src/store/map";
679
- export type { MapStoreListeners } from "packages/sdk-web-interfaces/src/store/map";
680
- export { SingleStore, createSingleStore } from "packages/sdk-web-interfaces/src/store/single";
681
- export { AbstractStore, mergeStores } from "packages/sdk-web-interfaces/src/store/abstract";
682
- export { ApiStore } from "packages/sdk-web-interfaces/src/store/api";
683
- export interface StreamLayerSDK {
684
- }
685
- export interface StreamLayerContext {
686
- sdk: StreamLayerSDK;
687
- }
688
- type DoneFn = Function;
689
- export type StreamLayerPlugin = (instance: StreamLayerContext, opts: unknown, done: DoneFn) => void;
690
- }
691
- declare module "packages/sdk-web-api/src/utils/devtools" {
692
- export const __GRPC_DEVTOOLS_EXTENSION__: any;
338
+ declare module "packages/sdk-web-api/src/utils/devtools" {
339
+ export const __GRPC_DEVTOOLS_EXTENSION__: any;
693
340
  }
694
341
  declare module "packages/sdk-web-api/src/grpc/transport" {
695
342
  import { createRouterTransport, ConnectRouter, Interceptor, PromiseClient, CallbackClient, UnaryRequest, StreamRequest } from '@connectrpc/connect';
@@ -882,6 +529,26 @@ declare module "packages/sdk-web-api/src/index" {
882
529
  host: string;
883
530
  }, done: () => void) => void;
884
531
  }
532
+ declare module "packages/sdk-web-types/src/sl-types" {
533
+ import { PlainMessage } from '@bufbuild/protobuf';
534
+ import type { StreamSettings as SLStreamSettings, SdkOverlay, Advertising, OrganizationSettings as SLOrganizationSettings } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
535
+ import type { ClientSettings } from '@streamlayer/sl-eslib/sdkSettings/client/client_pb';
536
+ import type { UserAttributes } from '@streamlayer/sl-eslib/users/users_common_pb';
537
+ export { QuestionType, QuestionStatus } from '@streamlayer/sl-eslib/interactive/interactive.common_pb';
538
+ import type { PickHistory as IPickHistory } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
539
+ export { PickHistoryStatus } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
540
+ export type PickHistory = PlainMessage<IPickHistory>;
541
+ export type OrganizationSettings = SLOrganizationSettings;
542
+ export type OrganizationAdvertising = Advertising;
543
+ export type FeatureConfig = SdkOverlay;
544
+ export type StreamSettings = SLStreamSettings;
545
+ export type User = UserAttributes;
546
+ export type UserSettings = ClientSettings;
547
+ export { SdkOverlayType as FeatureType } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
548
+ }
549
+ declare module "packages/sdk-web-types/src/index" {
550
+ export * from "packages/sdk-web-types/src/sl-types";
551
+ }
885
552
  declare module "packages/feature-gamification/src/queries/leaderboard" {
886
553
  import type { Transport } from "packages/sdk-web-api/src/index";
887
554
  import { ReadableAtom } from 'nanostores';
@@ -1184,56 +851,532 @@ declare module "packages/feature-gamification/src/queries/index" {
1184
851
  export const $pickHistory: (slStreamId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<(import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").PickHistory | undefined)[] | undefined, any>;
1185
852
  export { $userSummary } from "packages/feature-gamification/src/queries/leaderboard";
1186
853
  }
1187
- declare module "packages/feature-gamification/src/queries/actions" {
1188
- import type { Transport } from "packages/sdk-web-api/src/index";
1189
- export const submitAnswer: (transport: Transport, data: {
854
+ declare module "packages/feature-gamification/src/queries/actions" {
855
+ import type { Transport } from "packages/sdk-web-api/src/index";
856
+ export const submitAnswer: (transport: Transport, data: {
857
+ questionId: string;
858
+ answerId: string;
859
+ }) => Promise<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").SubmitAnswerResponse>;
860
+ export const submitInplay: (transport: Transport, eventId: string) => Promise<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").SubmitInplayResponse>;
861
+ export const skipQuestion: (transport: Transport, questionId: string) => Promise<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").SkipQuestionResponse>;
862
+ }
863
+ declare module "packages/feature-gamification/src/index" {
864
+ import { AbstractFeature, ApiStore, FeatureSource, type FeatureProps } from "packages/sdk-web-interfaces/src/index";
865
+ import type { GetApiResponseType } from "packages/sdk-web-api/src/index";
866
+ type StreamLayerContext = any;
867
+ import type { PlainMessage } from '@bufbuild/protobuf';
868
+ import type { GamesOverlaySettings } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
869
+ import { ReadableAtom, WritableAtom } from 'nanostores';
870
+ import * as queries from "packages/feature-gamification/src/queries/index";
871
+ export class Gamification extends AbstractFeature<'games', PlainMessage<GamesOverlaySettings>> {
872
+ userSummary?: ApiStore<GetApiResponseType<typeof queries.$userSummary>>;
873
+ questions?: ApiStore<GetApiResponseType<typeof queries.$pickHistory>>;
874
+ leaderboardId: WritableAtom<string | undefined>;
875
+ slStreamId: ReadableAtom<string | undefined>;
876
+ userId: ReadableAtom<string | undefined>;
877
+ organizationId: ReadableAtom<string | undefined>;
878
+ openedQuestionId: WritableAtom<string | undefined>;
879
+ openedQuestion?: ApiStore<GetApiResponseType<typeof queries.$questionByUser>>;
880
+ activeQuestionId?: ApiStore<GetApiResponseType<typeof queries.$activeQuestion>>;
881
+ moderationId: ReadableAtom<string | undefined>;
882
+ feedId: ReadableAtom<string | undefined>;
883
+ onbordingComplete: WritableAtom<boolean | undefined>;
884
+ private notifications;
885
+ private transport;
886
+ private questionSubscription?;
887
+ private feedSubscription?;
888
+ constructor(config: FeatureProps, source: FeatureSource, instance: StreamLayerContext);
889
+ showOnbordingInApp: (onbordingComplete: boolean) => void;
890
+ getCurrentSessionIdPrefix: (opts: {
891
+ prefix?: string;
892
+ userId?: string;
893
+ eventId?: string;
894
+ organizationId?: string;
895
+ }) => string;
896
+ connect: (transport: StreamLayerContext['transport']) => void;
897
+ disconnect: () => void;
898
+ submitInplay: () => Promise<void>;
899
+ submitAnswer: (questionId: string, answerId: string) => Promise<void>;
900
+ skipQuestion: (questionId: string) => Promise<void>;
901
+ openQuestion: (questionId: string) => void;
902
+ closeQuestion: () => void;
903
+ }
904
+ }
905
+ declare module "packages/react-ui/src/lib/gamification/onboarding/styles" {
906
+ export const Container: import("@emotion/styled").StyledComponent<{
907
+ theme?: import("@emotion/react").Theme | undefined;
908
+ as?: import("react").ElementType<any> | undefined;
909
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
910
+ export const Content: import("@emotion/styled").StyledComponent<{
911
+ theme?: import("@emotion/react").Theme | undefined;
912
+ as?: import("react").ElementType<any> | undefined;
913
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
914
+ export const OnboardingHeader: import("@emotion/styled").StyledComponent<{
915
+ theme?: import("@emotion/react").Theme | undefined;
916
+ as?: import("react").ElementType<any> | undefined;
917
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
918
+ export const LeftBlock: import("@emotion/styled").StyledComponent<{
919
+ theme?: import("@emotion/react").Theme | undefined;
920
+ as?: import("react").ElementType<any> | undefined;
921
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
922
+ export const RightBlock: import("@emotion/styled").StyledComponent<{
923
+ theme?: import("@emotion/react").Theme | undefined;
924
+ as?: import("react").ElementType<any> | undefined;
925
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
926
+ export const GameIcon: import("@emotion/styled").StyledComponent<{
927
+ theme?: import("@emotion/react").Theme | undefined;
928
+ as?: import("react").ElementType<any> | undefined;
929
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
930
+ export const SponsorLogo: import("@emotion/styled").StyledComponent<{
931
+ theme?: import("@emotion/react").Theme | undefined;
932
+ as?: import("react").ElementType<any> | undefined;
933
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
934
+ export const CloseBtn: import("@emotion/styled").StyledComponent<{
935
+ theme?: import("@emotion/react").Theme | undefined;
936
+ as?: import("react").ElementType<any> | undefined;
937
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
938
+ export const IconClose: import("@emotion/styled").StyledComponent<{
939
+ theme?: import("@emotion/react").Theme | undefined;
940
+ as?: import("react").ElementType<any> | undefined;
941
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
942
+ export const OnboardingActionBtn: import("@emotion/styled").StyledComponent<{
943
+ theme?: import("@emotion/react").Theme | undefined;
944
+ as?: import("react").ElementType<any> | undefined;
945
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
946
+ }
947
+ declare module "packages/react-ui/src/lib/gamification/onboarding/components/onboarding-slides/onboarding-instructions/styles" {
948
+ export const Container: import("@emotion/styled").StyledComponent<{
949
+ theme?: import("@emotion/react").Theme | undefined;
950
+ as?: import("react").ElementType<any> | undefined;
951
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
952
+ export const Content: import("@emotion/styled").StyledComponent<{
953
+ theme?: import("@emotion/react").Theme | undefined;
954
+ as?: import("react").ElementType<any> | undefined;
955
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
956
+ export const Graphic: import("@emotion/styled").StyledComponent<{
957
+ theme?: import("@emotion/react").Theme | undefined;
958
+ as?: import("react").ElementType<any> | undefined;
959
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
960
+ export const Headline: import("@emotion/styled").StyledComponent<{
961
+ theme?: import("@emotion/react").Theme | undefined;
962
+ as?: import("react").ElementType<any> | undefined;
963
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
964
+ }
965
+ declare module "packages/react-ui/src/lib/gamification/onboarding/components/onboarding-slides/onboarding-instructions/index" {
966
+ type OnboardingInstructionsProps = {
967
+ graphic: string;
968
+ headline: string;
969
+ };
970
+ export const OnboardingInstructions: React.FC<OnboardingInstructionsProps>;
971
+ }
972
+ declare module "packages/react-ui/src/lib/gamification/onboarding/components/onboarding-slides/onboarding-rules/styles" {
973
+ export const Container: import("@emotion/styled").StyledComponent<{
974
+ theme?: import("@emotion/react").Theme | undefined;
975
+ as?: import("react").ElementType<any> | undefined;
976
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
977
+ export const Title: import("@emotion/styled").StyledComponent<{
978
+ theme?: import("@emotion/react").Theme | undefined;
979
+ as?: import("react").ElementType<any> | undefined;
980
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
981
+ export const RulesList: import("@emotion/styled").StyledComponent<{
982
+ theme?: import("@emotion/react").Theme | undefined;
983
+ as?: import("react").ElementType<any> | undefined;
984
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
985
+ export const RulesItem: import("@emotion/styled").StyledComponent<{
986
+ theme?: import("@emotion/react").Theme | undefined;
987
+ as?: import("react").ElementType<any> | undefined;
988
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
989
+ export const RuleNumber: import("@emotion/styled").StyledComponent<{
990
+ theme?: import("@emotion/react").Theme | undefined;
991
+ as?: import("react").ElementType<any> | undefined;
992
+ } & {
993
+ bgColor?: string | undefined;
994
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
995
+ export const RuleText: import("@emotion/styled").StyledComponent<{
996
+ theme?: import("@emotion/react").Theme | undefined;
997
+ as?: import("react").ElementType<any> | undefined;
998
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
999
+ }
1000
+ declare module "packages/react-ui/src/lib/gamification/onboarding/components/onboarding-slides/onboarding-rules/index" {
1001
+ type OnboardingRulesProps = {
1002
+ rules?: string[];
1003
+ rulesTitle?: string;
1004
+ primaryColor?: string;
1005
+ };
1006
+ export const OnboardingRules: React.FC<OnboardingRulesProps>;
1007
+ }
1008
+ declare module "packages/react-ui/src/lib/gamification/onboarding/components/onboarding-slides/onboarding-invite-card/styles" {
1009
+ export const Container: import("@emotion/styled").StyledComponent<{
1010
+ theme?: import("@emotion/react").Theme | undefined;
1011
+ as?: import("react").ElementType<any> | undefined;
1012
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1013
+ export const Content: import("@emotion/styled").StyledComponent<{
1014
+ theme?: import("@emotion/react").Theme | undefined;
1015
+ as?: import("react").ElementType<any> | undefined;
1016
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1017
+ export const InviteGameIconWrap: import("@emotion/styled").StyledComponent<{
1018
+ theme?: import("@emotion/react").Theme | undefined;
1019
+ as?: import("react").ElementType<any> | undefined;
1020
+ } & {
1021
+ bgColor?: string | undefined;
1022
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1023
+ export const InviteGameIcon: import("@emotion/styled").StyledComponent<{
1024
+ theme?: import("@emotion/react").Theme | undefined;
1025
+ as?: import("react").ElementType<any> | undefined;
1026
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1027
+ export const Heading: import("@emotion/styled").StyledComponent<{
1028
+ theme?: import("@emotion/react").Theme | undefined;
1029
+ as?: import("react").ElementType<any> | undefined;
1030
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1031
+ export const Subtext: import("@emotion/styled").StyledComponent<{
1032
+ theme?: import("@emotion/react").Theme | undefined;
1033
+ as?: import("react").ElementType<any> | undefined;
1034
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1035
+ export const InvateBtn: import("@emotion/styled").StyledComponent<{
1036
+ theme?: import("@emotion/react").Theme | undefined;
1037
+ as?: import("react").ElementType<any> | undefined;
1038
+ } & {
1039
+ bgColor?: string | undefined;
1040
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1041
+ }
1042
+ declare module "packages/react-ui/src/lib/gamification/onboarding/components/onboarding-slides/onboarding-invite-card/index" {
1043
+ type OnboardingInviteCardProps = {
1044
+ inviteCardTitle?: string;
1045
+ inviteCardSubtext?: string;
1046
+ primaryColor?: string;
1047
+ };
1048
+ export const OnboardingInviteCard: React.FC<OnboardingInviteCardProps>;
1049
+ }
1050
+ declare module "packages/react-ui/src/lib/gamification/onboarding/index" {
1051
+ import type { Gamification } from "packages/feature-gamification/src/index";
1052
+ type OnboardingType = {
1053
+ gamification: Gamification;
1054
+ closeFeature: () => void;
1055
+ steps?: {
1056
+ graphic: string;
1057
+ headline: string;
1058
+ }[];
1059
+ gameIcon?: string;
1060
+ sponsorLogo?: string;
1061
+ rules?: string[];
1062
+ rulesBtnLabel?: string;
1063
+ rulesTitle?: string;
1064
+ primaryColor?: string;
1065
+ inviteCardTitle?: string;
1066
+ inviteCardSubtext?: string;
1067
+ inviteCardBtnLabel?: string;
1068
+ };
1069
+ export const Onboarding: React.FC<OnboardingType>;
1070
+ }
1071
+ declare module "packages/react-ui/src/lib/gamification/question/styles" {
1072
+ export const Panel: import("@emotion/styled").StyledComponent<{
1073
+ theme?: import("@emotion/react").Theme | undefined;
1074
+ as?: import("react").ElementType<any> | undefined;
1075
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1076
+ export const QuestionTypeIconWrap: import("@emotion/styled").StyledComponent<{
1077
+ theme?: import("@emotion/react").Theme | undefined;
1078
+ as?: import("react").ElementType<any> | undefined;
1079
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1080
+ export const QuestionTypeIcon: import("@emotion/styled").StyledComponent<{
1081
+ theme?: import("@emotion/react").Theme | undefined;
1082
+ as?: import("react").ElementType<any> | undefined;
1083
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1084
+ export const QuestionContent: import("@emotion/styled").StyledComponent<{
1085
+ theme?: import("@emotion/react").Theme | undefined;
1086
+ as?: import("react").ElementType<any> | undefined;
1087
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1088
+ export const QuestionTypeLabel: import("@emotion/styled").StyledComponent<{
1089
+ theme?: import("@emotion/react").Theme | undefined;
1090
+ as?: import("react").ElementType<any> | undefined;
1091
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1092
+ export const QuestionSubject: import("@emotion/styled").StyledComponent<{
1093
+ theme?: import("@emotion/react").Theme | undefined;
1094
+ as?: import("react").ElementType<any> | undefined;
1095
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1096
+ export const QuestionActionTitle: import("@emotion/styled").StyledComponent<{
1097
+ theme?: import("@emotion/react").Theme | undefined;
1098
+ as?: import("react").ElementType<any> | undefined;
1099
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1100
+ export const QuestionActionIcon: import("@emotion/styled").StyledComponent<{
1101
+ theme?: import("@emotion/react").Theme | undefined;
1102
+ as?: import("react").ElementType<any> | undefined;
1103
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1104
+ export const QuestionStatusIcon: import("@emotion/styled").StyledComponent<{
1105
+ theme?: import("@emotion/react").Theme | undefined;
1106
+ as?: import("react").ElementType<any> | undefined;
1107
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1108
+ export const QuestionTypeTitle: import("@emotion/styled").StyledComponent<{
1109
+ theme?: import("@emotion/react").Theme | undefined;
1110
+ as?: import("react").ElementType<any> | undefined;
1111
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
1112
+ export const ExpiredQuestion: import("@emotion/styled").StyledComponent<{
1113
+ theme?: import("@emotion/react").Theme | undefined;
1114
+ as?: import("react").ElementType<any> | undefined;
1115
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
1116
+ }
1117
+ declare module "packages/react-ui/src/lib/gamification/question/index" {
1118
+ import { type PickHistory } from "packages/sdk-web-types/src/index";
1119
+ export const Question: React.FC<{
1120
+ openQuestion?: (questionId: string) => void;
1121
+ } & PickHistory>;
1122
+ }
1123
+ declare module "packages/react-ui/src/lib/gamification/question-list/styles" {
1124
+ export const Container: import("@emotion/styled").StyledComponent<{
1125
+ theme?: import("@emotion/react").Theme | undefined;
1126
+ as?: import("react").ElementType<any> | undefined;
1127
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1128
+ export const Title: import("@emotion/styled").StyledComponent<{
1129
+ theme?: import("@emotion/react").Theme | undefined;
1130
+ as?: import("react").ElementType<any> | undefined;
1131
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1132
+ export const ItemsContainer: import("@emotion/styled").StyledComponent<{
1133
+ theme?: import("@emotion/react").Theme | undefined;
1134
+ as?: import("react").ElementType<any> | undefined;
1135
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1136
+ }
1137
+ declare module "packages/react-ui/src/lib/gamification/question-list/index" {
1138
+ import type { PickHistory } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
1139
+ interface QuestionListProps {
1140
+ questions: PickHistory[];
1141
+ openQuestion: (questionId: string) => void;
1142
+ }
1143
+ export const QuestionList: React.FC<QuestionListProps>;
1144
+ }
1145
+ declare module "packages/react-ui/src/utils/common" {
1146
+ export const abbreviate: (name: string) => string;
1147
+ }
1148
+ declare module "packages/react-ui/src/lib/gamification/user-statistics/components/statistics/styles" {
1149
+ export const Container: import("@emotion/styled").StyledComponent<{
1150
+ theme?: import("@emotion/react").Theme | undefined;
1151
+ as?: import("react").ElementType<any> | undefined;
1152
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1153
+ export const Indicator: import("@emotion/styled").StyledComponent<{
1154
+ theme?: import("@emotion/react").Theme | undefined;
1155
+ as?: import("react").ElementType<any> | undefined;
1156
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1157
+ }
1158
+ declare module "packages/react-ui/src/lib/gamification/user-statistics/components/statistics/index" {
1159
+ interface StatisticsProps {
1160
+ indicator: string | number;
1161
+ title: 'Win streak' | 'Correct' | 'Incorrect' | 'Success rate';
1162
+ }
1163
+ export const Statistics: React.FC<StatisticsProps>;
1164
+ }
1165
+ declare module "packages/react-ui/src/lib/gamification/user-statistics/components/rank/styles" {
1166
+ export const Container: import("@emotion/styled").StyledComponent<{
1167
+ theme?: import("@emotion/react").Theme | undefined;
1168
+ as?: import("react").ElementType<any> | undefined;
1169
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1170
+ export const Title: import("@emotion/styled").StyledComponent<{
1171
+ theme?: import("@emotion/react").Theme | undefined;
1172
+ as?: import("react").ElementType<any> | undefined;
1173
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1174
+ export const Indicator: import("@emotion/styled").StyledComponent<{
1175
+ theme?: import("@emotion/react").Theme | undefined;
1176
+ as?: import("react").ElementType<any> | undefined;
1177
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1178
+ }
1179
+ declare module "packages/react-ui/src/lib/gamification/user-statistics/components/rank/index" {
1180
+ interface RankProps {
1181
+ indicator: string | number;
1182
+ title: 'Friens rank' | 'Global rank';
1183
+ }
1184
+ export const Rank: React.FC<RankProps>;
1185
+ }
1186
+ declare module "packages/react-ui/src/lib/gamification/user-statistics/styles" {
1187
+ export const Container: import("@emotion/styled").StyledComponent<{
1188
+ theme?: import("@emotion/react").Theme | undefined;
1189
+ as?: import("react").ElementType<any> | undefined;
1190
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1191
+ export const TopInfo: import("@emotion/styled").StyledComponent<{
1192
+ theme?: import("@emotion/react").Theme | undefined;
1193
+ as?: import("react").ElementType<any> | undefined;
1194
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1195
+ export const BottomInfo: import("@emotion/styled").StyledComponent<{
1196
+ theme?: import("@emotion/react").Theme | undefined;
1197
+ as?: import("react").ElementType<any> | undefined;
1198
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1199
+ export const User: import("@emotion/styled").StyledComponent<{
1200
+ theme?: import("@emotion/react").Theme | undefined;
1201
+ as?: import("react").ElementType<any> | undefined;
1202
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1203
+ export const Avatar: import("@emotion/styled").StyledComponent<{
1204
+ theme?: import("@emotion/react").Theme | undefined;
1205
+ as?: import("react").ElementType<any> | undefined;
1206
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1207
+ export const UserInfo: import("@emotion/styled").StyledComponent<{
1208
+ theme?: import("@emotion/react").Theme | undefined;
1209
+ as?: import("react").ElementType<any> | undefined;
1210
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1211
+ export const UserName: import("@emotion/styled").StyledComponent<{
1212
+ theme?: import("@emotion/react").Theme | undefined;
1213
+ as?: import("react").ElementType<any> | undefined;
1214
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1215
+ export const UserRating: import("@emotion/styled").StyledComponent<{
1216
+ theme?: import("@emotion/react").Theme | undefined;
1217
+ as?: import("react").ElementType<any> | undefined;
1218
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1219
+ export const TrophyIcon: import("@emotion/styled").StyledComponent<{
1220
+ theme?: import("@emotion/react").Theme | undefined;
1221
+ as?: import("react").ElementType<any> | undefined;
1222
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1223
+ export const Rts: import("@emotion/styled").StyledComponent<{
1224
+ theme?: import("@emotion/react").Theme | undefined;
1225
+ as?: import("react").ElementType<any> | undefined;
1226
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1227
+ export const RtsIndicator: import("@emotion/styled").StyledComponent<{
1228
+ theme?: import("@emotion/react").Theme | undefined;
1229
+ as?: import("react").ElementType<any> | undefined;
1230
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1231
+ export const Top: import("@emotion/styled").StyledComponent<{
1232
+ theme?: import("@emotion/react").Theme | undefined;
1233
+ as?: import("react").ElementType<any> | undefined;
1234
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1235
+ export const Ranks: import("@emotion/styled").StyledComponent<{
1236
+ theme?: import("@emotion/react").Theme | undefined;
1237
+ as?: import("react").ElementType<any> | undefined;
1238
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1239
+ export const AvatarPlaceholder: import("@emotion/styled").StyledComponent<{
1240
+ theme?: import("@emotion/react").Theme | undefined;
1241
+ as?: import("react").ElementType<any> | undefined;
1242
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1243
+ export const UserAccountBtn: import("@emotion/styled").StyledComponent<{
1244
+ theme?: import("@emotion/react").Theme | undefined;
1245
+ as?: import("react").ElementType<any> | undefined;
1246
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1247
+ }
1248
+ declare module "packages/react-ui/src/lib/gamification/user-statistics/index" {
1249
+ interface UserStatisticsProps {
1250
+ avatar: string;
1251
+ name: string;
1252
+ points: number;
1253
+ grade: string;
1254
+ friendsRank: number;
1255
+ globalRank: number;
1256
+ winStreak: number;
1257
+ correct: number;
1258
+ incorrect: number;
1259
+ successRate?: number;
1260
+ }
1261
+ export const UserStatistics: React.FC<UserStatisticsProps>;
1262
+ }
1263
+ declare module "packages/react-ui/src/lib/gamification/vote/components/voting-option/styles" {
1264
+ export const Container: import("@emotion/styled").StyledComponent<{
1265
+ theme?: import("@emotion/react").Theme | undefined;
1266
+ as?: import("react").ElementType<any> | undefined;
1267
+ } & {
1268
+ questionAnswered: boolean;
1269
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1270
+ export const AnsweredContainer: import("@emotion/styled").StyledComponent<{
1271
+ theme?: import("@emotion/react").Theme | undefined;
1272
+ as?: import("react").ElementType<any> | undefined;
1273
+ } & {
1274
+ questionAnswered: boolean;
1275
+ } & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
1276
+ theme?: import("@emotion/react").Theme | undefined;
1277
+ } & {
1278
+ answeredCorrect: boolean;
1279
+ }, {}, {}>;
1280
+ export const ButtonPct: import("@emotion/styled").StyledComponent<{
1281
+ theme?: import("@emotion/react").Theme | undefined;
1282
+ as?: import("react").ElementType<any> | undefined;
1283
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1284
+ export const Button: import("@emotion/styled").StyledComponent<{
1285
+ theme?: import("@emotion/react").Theme | undefined;
1286
+ as?: import("react").ElementType<any> | undefined;
1287
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1288
+ export const Icon: import("@emotion/styled").StyledComponent<{
1289
+ theme?: import("@emotion/react").Theme | undefined;
1290
+ as?: import("react").ElementType<any> | undefined;
1291
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1292
+ export const Title: import("@emotion/styled").StyledComponent<{
1293
+ theme?: import("@emotion/react").Theme | undefined;
1294
+ as?: import("react").ElementType<any> | undefined;
1295
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
1296
+ export const Indicators: import("@emotion/styled").StyledComponent<{
1297
+ theme?: import("@emotion/react").Theme | undefined;
1298
+ as?: import("react").ElementType<any> | undefined;
1299
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
1300
+ export const CheckIconWrap: import("@emotion/styled").StyledComponent<{
1301
+ theme?: import("@emotion/react").Theme | undefined;
1302
+ as?: import("react").ElementType<any> | undefined;
1303
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1304
+ export const Percentage: import("@emotion/styled").StyledComponent<{
1305
+ theme?: import("@emotion/react").Theme | undefined;
1306
+ as?: import("react").ElementType<any> | undefined;
1307
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1308
+ export const CheckIcon: import("@emotion/styled").StyledComponent<{
1309
+ theme?: import("@emotion/react").Theme | undefined;
1310
+ as?: import("react").ElementType<any> | undefined;
1311
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1312
+ }
1313
+ declare module "packages/react-ui/src/lib/gamification/vote/components/voting-option/index" {
1314
+ interface VotingOptionProps {
1315
+ icon: string;
1316
+ title: string;
1317
+ id: string;
1190
1318
  questionId: string;
1191
- answerId: string;
1192
- }) => Promise<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").SubmitAnswerResponse>;
1193
- export const submitInplay: (transport: Transport, eventId: string) => Promise<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").SubmitInplayResponse>;
1194
- export const skipQuestion: (transport: Transport, questionId: string) => Promise<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").SkipQuestionResponse>;
1319
+ percentage: number;
1320
+ disabled: boolean;
1321
+ correct: boolean;
1322
+ questionAnswered: boolean;
1323
+ hasCorrectAnswer: boolean;
1324
+ answered: boolean;
1325
+ onVote: (questionId: string, answerId: string) => void;
1326
+ toggleIsLoadingSubmitAnswer: (flag: boolean) => void;
1327
+ }
1328
+ export const VotingOption: React.FC<VotingOptionProps>;
1195
1329
  }
1196
- declare module "packages/feature-gamification/src/index" {
1197
- import { AbstractFeature, ApiStore, FeatureSource, type FeatureProps } from "packages/sdk-web-interfaces/src/index";
1198
- import type { GetApiResponseType } from "packages/sdk-web-api/src/index";
1199
- type StreamLayerContext = any;
1200
- import type { PlainMessage } from '@bufbuild/protobuf';
1201
- import type { GamesOverlaySettings } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
1202
- import { ReadableAtom, WritableAtom } from 'nanostores';
1203
- import * as queries from "packages/feature-gamification/src/queries/index";
1204
- export class Gamification extends AbstractFeature<'games', PlainMessage<GamesOverlaySettings>> {
1205
- userSummary?: ApiStore<GetApiResponseType<typeof queries.$userSummary>>;
1206
- questions?: ApiStore<GetApiResponseType<typeof queries.$pickHistory>>;
1207
- leaderboardId: WritableAtom<string | undefined>;
1208
- slStreamId: ReadableAtom<string | undefined>;
1209
- userId: ReadableAtom<string | undefined>;
1210
- organizationId: ReadableAtom<string | undefined>;
1211
- openedQuestionId: WritableAtom<string | undefined>;
1212
- openedQuestion?: ApiStore<GetApiResponseType<typeof queries.$questionByUser>>;
1213
- activeQuestionId?: ApiStore<GetApiResponseType<typeof queries.$activeQuestion>>;
1214
- moderationId: ReadableAtom<string | undefined>;
1215
- feedId: ReadableAtom<string | undefined>;
1216
- onbordingComplete: WritableAtom<boolean | undefined>;
1217
- private notifications;
1218
- private transport;
1219
- constructor(config: FeatureProps, source: FeatureSource, instance: StreamLayerContext);
1220
- getCurrentSessionIdPrefix: (opts: {
1221
- prefix?: string;
1222
- userId?: string;
1223
- eventId?: string;
1224
- organizationId?: string;
1225
- }) => string;
1226
- connect: (transport: StreamLayerContext['transport']) => void;
1227
- submitInplay: () => Promise<void>;
1228
- submitAnswer: (questionId: string, answerId: string) => Promise<void>;
1229
- skipQuestion: (questionId: string) => Promise<void>;
1230
- openQuestion: (questionId: string) => void;
1231
- closeQuestion: () => void;
1330
+ declare module "packages/react-ui/src/lib/gamification/vote/styles" {
1331
+ export const Container: import("@emotion/styled").StyledComponent<{
1332
+ theme?: import("@emotion/react").Theme | undefined;
1333
+ as?: import("react").ElementType<any> | undefined;
1334
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1335
+ export const Title: import("@emotion/styled").StyledComponent<{
1336
+ theme?: import("@emotion/react").Theme | undefined;
1337
+ as?: import("react").ElementType<any> | undefined;
1338
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1339
+ export const Options: import("@emotion/styled").StyledComponent<{
1340
+ theme?: import("@emotion/react").Theme | undefined;
1341
+ as?: import("react").ElementType<any> | undefined;
1342
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1343
+ export const Loader: import("@emotion/styled").StyledComponent<{
1344
+ theme?: import("@emotion/react").Theme | undefined;
1345
+ as?: import("react").ElementType<any> | undefined;
1346
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1347
+ export const Feedback: import("@emotion/styled").StyledComponent<{
1348
+ theme?: import("@emotion/react").Theme | undefined;
1349
+ as?: import("react").ElementType<any> | undefined;
1350
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1351
+ export const FeedbackIcon: import("@emotion/styled").StyledComponent<{
1352
+ theme?: import("@emotion/react").Theme | undefined;
1353
+ as?: import("react").ElementType<any> | undefined;
1354
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1355
+ export const FeedbackTitle: import("@emotion/styled").StyledComponent<{
1356
+ theme?: import("@emotion/react").Theme | undefined;
1357
+ as?: import("react").ElementType<any> | undefined;
1358
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1359
+ export const FeedbackDescription: import("@emotion/styled").StyledComponent<{
1360
+ theme?: import("@emotion/react").Theme | undefined;
1361
+ as?: import("react").ElementType<any> | undefined;
1362
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1363
+ }
1364
+ declare module "packages/react-ui/src/lib/gamification/vote/index" {
1365
+ import { QuestionType } from "packages/sdk-web-types/src/index";
1366
+ interface VoteProps {
1367
+ title: string;
1368
+ questionId: string;
1369
+ options: any[];
1370
+ questionType: QuestionType;
1371
+ feedbackMessages: any;
1372
+ questionAnswered: boolean;
1373
+ questionAnsweredCorrectly?: boolean;
1232
1374
  }
1375
+ export const Vote: React.FC<VoteProps>;
1233
1376
  }
1234
1377
  declare module "packages/sdk-web-features/src/index" {
1235
1378
  import { FeatureConfig } from "packages/sdk-web-types/src/index";
1236
- import { AbstractFeature, FeatureSource, FeatureProps, StreamLayerContext } from "packages/sdk-web-interfaces/src/index";
1379
+ import { AbstractFeature, FeatureSource, FeatureProps, StreamLayerContext, SingleStore } from "packages/sdk-web-interfaces/src/index";
1237
1380
  import { Gamification } from "packages/feature-gamification/src/index";
1238
1381
  export class Feature extends AbstractFeature<undefined> {
1239
1382
  }
@@ -1246,9 +1389,13 @@ declare module "packages/sdk-web-features/src/index" {
1246
1389
  updateFeature: (overlay: FeatureProps, source: FeatureSource) => void;
1247
1390
  destroyFeature: (overlay: FeatureProps) => void;
1248
1391
  reinitializeFeatures: () => Promise<void>;
1392
+ activeFeature: SingleStore<string>;
1249
1393
  }
1250
1394
  interface StreamLayerSDK {
1251
1395
  getFeatures: () => Map<string, Feature | Gamification>;
1396
+ getActiveFeature: SingleStore<string>['getStore'];
1397
+ openFeature: (featureName: string) => void;
1398
+ closeFeature: () => void;
1252
1399
  }
1253
1400
  }
1254
1401
  export const features: (instance: StreamLayerContext, opts: unknown, done: () => void) => void;
@@ -1459,7 +1606,6 @@ declare module "packages/react-ui/src/lib/demo/components/UserSummary" {
1459
1606
  import type { Gamification } from "packages/feature-gamification/src/index";
1460
1607
  export const UserSummary: React.FC<{
1461
1608
  store: ReturnType<Exclude<Gamification['userSummary'], undefined>['getStore']>;
1462
- toggleAccountPage: (flag: boolean) => void;
1463
1609
  }>;
1464
1610
  }
1465
1611
  declare module "packages/react-ui/src/lib/demo/components/QuestionsList" {
@@ -1561,6 +1707,9 @@ declare module "packages/sdk-web-core/src/notifications/notifications" {
1561
1707
  autoHideDuration?: number;
1562
1708
  delay?: number;
1563
1709
  data?: T;
1710
+ type?: string;
1711
+ action?: (...args: unknown[]) => void;
1712
+ close?: (...args: unknown[]) => void;
1564
1713
  id: string;
1565
1714
  };
1566
1715
  /**
@@ -1594,82 +1743,83 @@ declare module "packages/sdk-web-core/src/notifications/index" {
1594
1743
  */
1595
1744
  export const notifications: (instance: StreamLayerContext, opts: unknown, done: () => void) => void;
1596
1745
  }
1597
- declare module "packages/react-ui/src/lib/demo/components/Notifications" {
1598
- import type { NotificationsStore } from "packages/sdk-web-core/src/notifications/index";
1599
- export const Notifications: React.FC<{
1600
- notificationsStore: NotificationsStore;
1601
- openQuestion: (questionId: string) => void;
1602
- }>;
1603
- }
1604
- declare module "packages/react-ui/src/lib/demo/components/InPlayGame" {
1605
- type InPlayGameType = {
1606
- action: () => void;
1607
- };
1608
- export const InPlayGame: React.FC<InPlayGameType>;
1609
- }
1610
- declare module "packages/react-ui/src/lib/user-account/styles" {
1746
+ declare module "packages/react-ui/src/lib/demo/notifications/components/onboarding-inapp/styles" {
1611
1747
  export const Container: import("@emotion/styled").StyledComponent<{
1612
1748
  theme?: import("@emotion/react").Theme | undefined;
1613
1749
  as?: import("react").ElementType<any> | undefined;
1614
1750
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1615
- export const ContentWrap: import("@emotion/styled").StyledComponent<{
1751
+ export const BackgroundBlock: import("@emotion/styled").StyledComponent<{
1616
1752
  theme?: import("@emotion/react").Theme | undefined;
1617
1753
  as?: import("react").ElementType<any> | undefined;
1618
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
1619
- export const UserContainer: import("@emotion/styled").StyledComponent<{
1754
+ } & {
1755
+ graphicBg?: string | undefined;
1756
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1757
+ export const Icon: import("@emotion/styled").StyledComponent<{
1758
+ theme?: import("@emotion/react").Theme | undefined;
1759
+ as?: import("react").ElementType<any> | undefined;
1760
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1761
+ export const ContentWrap: import("@emotion/styled").StyledComponent<{
1620
1762
  theme?: import("@emotion/react").Theme | undefined;
1621
1763
  as?: import("react").ElementType<any> | undefined;
1622
1764
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1623
- export const UserAvatar: import("@emotion/styled").StyledComponent<{
1765
+ export const SponsorLogo: import("@emotion/styled").StyledComponent<{
1624
1766
  theme?: import("@emotion/react").Theme | undefined;
1625
1767
  as?: import("react").ElementType<any> | undefined;
1626
1768
  }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1627
- export const UserName: import("@emotion/styled").StyledComponent<{
1769
+ export const SponsorText: import("@emotion/styled").StyledComponent<{
1628
1770
  theme?: import("@emotion/react").Theme | undefined;
1629
1771
  as?: import("react").ElementType<any> | undefined;
1630
1772
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
1631
- export const BackBtn: import("@emotion/styled").StyledComponent<{
1773
+ export const ContentTitle: import("@emotion/styled").StyledComponent<{
1632
1774
  theme?: import("@emotion/react").Theme | undefined;
1633
1775
  as?: import("react").ElementType<any> | undefined;
1634
- }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1635
- export const LogoutBtn: import("@emotion/styled").StyledComponent<{
1776
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1777
+ export const ContentSubtitle: import("@emotion/styled").StyledComponent<{
1778
+ theme?: import("@emotion/react").Theme | undefined;
1779
+ as?: import("react").ElementType<any> | undefined;
1780
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1781
+ export const ActionBtn: import("@emotion/styled").StyledComponent<{
1636
1782
  theme?: import("@emotion/react").Theme | undefined;
1637
1783
  as?: import("react").ElementType<any> | undefined;
1784
+ } & {
1785
+ bgColor?: string | undefined;
1638
1786
  }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1639
- export const LogoutIcon: import("@emotion/styled").StyledComponent<{
1787
+ export const CloseBtn: import("@emotion/styled").StyledComponent<{
1640
1788
  theme?: import("@emotion/react").Theme | undefined;
1641
1789
  as?: import("react").ElementType<any> | undefined;
1642
- }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1643
- export const AvatarPlaceholder: import("@emotion/styled").StyledComponent<{
1790
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
1791
+ export const IconClose: import("@emotion/styled").StyledComponent<{
1644
1792
  theme?: import("@emotion/react").Theme | undefined;
1645
1793
  as?: import("react").ElementType<any> | undefined;
1646
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1794
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
1647
1795
  }
1648
- declare module "packages/react-ui/src/lib/user-account/index" {
1649
- import type { Gamification } from "packages/feature-gamification/src/index";
1650
- interface UserAccountProps {
1651
- store: ReturnType<Exclude<Gamification['userSummary'], undefined>['getStore']>;
1652
- toggleAccountPage: (flag: boolean) => void;
1653
- logout: () => void;
1796
+ declare module "packages/react-ui/src/lib/demo/notifications/components/onboarding-inapp/index" {
1797
+ interface OnBoardingInAppProps {
1798
+ onClose: () => void;
1799
+ onPlay: () => void;
1800
+ header?: string;
1801
+ title?: string;
1802
+ subtitle?: string;
1803
+ graphicBg?: string;
1804
+ icon?: string;
1805
+ sponsorLogo?: string;
1806
+ primaryColor?: string;
1654
1807
  }
1655
- export const UserAccount: React.FC<UserAccountProps>;
1808
+ export const OnBoardingInApp: React.FC<OnBoardingInAppProps>;
1656
1809
  }
1657
- declare module "packages/react-ui/src/lib/demo/components/Account" {
1658
- import type { Gamification } from "packages/feature-gamification/src/index";
1659
- type AccountProps = {
1660
- store: ReturnType<Exclude<Gamification['userSummary'], undefined>['getStore']>;
1661
- toggleAccountPage: (flag: boolean) => void;
1662
- logout: () => void;
1663
- };
1664
- export const Account: React.FC<AccountProps>;
1810
+ declare module "packages/react-ui/src/lib/demo/notifications/index" {
1811
+ import type { StreamLayerSDK } from "packages/sdk-web-interfaces/src/index";
1812
+ export const Notifications: React.FC<{
1813
+ sdk: StreamLayerSDK;
1814
+ }>;
1665
1815
  }
1666
1816
  declare module "packages/react-ui/src/lib/demo/components/index" {
1667
1817
  export { UserSummary } from "packages/react-ui/src/lib/demo/components/UserSummary";
1668
1818
  export { QuestionsList } from "packages/react-ui/src/lib/demo/components/QuestionsList";
1669
1819
  export { Question } from "packages/react-ui/src/lib/demo/components/Question";
1670
- export { Notifications } from "packages/react-ui/src/lib/demo/components/Notifications";
1671
- export { InPlayGame } from "packages/react-ui/src/lib/demo/components/InPlayGame";
1672
- export { Account } from "packages/react-ui/src/lib/demo/components/Account";
1820
+ export { Notifications } from "packages/react-ui/src/lib/demo/notifications/index";
1821
+ export { OnBoardingInApp } from "packages/react-ui/src/lib/demo/notifications/components/onboarding-inapp/index";
1822
+ export { Onboarding } from "packages/react-ui/src/lib/gamification/onboarding/index";
1673
1823
  }
1674
1824
  declare module "packages/react-ui/src/lib/demo/styles" {
1675
1825
  export const DemoContainer: import("@emotion/styled").StyledComponent<{
@@ -1688,13 +1838,9 @@ declare module "packages/react-ui/src/lib/demo/styles" {
1688
1838
  theme?: import("@emotion/react").Theme | undefined;
1689
1839
  as?: import("react").ElementType<any> | undefined;
1690
1840
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1691
- export const AccountContainer: import("@emotion/styled").StyledComponent<{
1692
- theme?: import("@emotion/react").Theme | undefined;
1693
- as?: import("react").ElementType<any> | undefined;
1694
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1695
1841
  }
1696
1842
  declare module "packages/react-ui/src/lib/demo/Gamification" {
1697
- import type { StreamLayerSDK } from "packages/sdk-web-interfaces/src/index";
1843
+ import { type StreamLayerSDK } from "packages/sdk-web-interfaces/src/index";
1698
1844
  import type { Gamification } from "packages/feature-gamification/src/index";
1699
1845
  export const GamificationComponent: React.FC<{
1700
1846
  gamification: Gamification;
@@ -1718,7 +1864,7 @@ declare module "packages/react-ui/src/lib/demo/Login" {
1718
1864
  }>;
1719
1865
  }
1720
1866
  declare module "packages/react-ui/src/lib/demo/index" {
1721
- import type { StreamLayerSDK } from "packages/sdk-web-interfaces/src/index";
1867
+ import { type StreamLayerSDK } from "packages/sdk-web-interfaces/src/index";
1722
1868
  export const Demo: React.FC<{
1723
1869
  sdk: StreamLayerSDK;
1724
1870
  }>;