import React, { ReactNode, PropsWithChildren } from 'react'; import StreamAnalytics from 'stream-analytics'; import { UR, StreamClient, StreamUser, ClientOptions, OGAPIResponse, GetFeedOptions } from 'getstream'; import { FeedManager } from './FeedManager'; import { ErrorHandler } from '../utils/errors'; import { Streami18n } from '../i18n/Streami18n'; export declare type SharedFeedManagers = Record>; declare type Attachments = { files?: Array<{ mimeType: string; name: string; url: string; }>; images?: string[]; og?: OGAPIResponse; }; export declare type DefaultUT = UR & { name: string; id?: string; profileImage?: string; }; export declare type DefaultAT = UR & { attachments?: Attachments; text?: string; }; export declare type SharedFeed = { feedGroup: string; notify: boolean; options: GetFeedOptions; }; export declare type StreamAppProps = { apiKey: string; appId: string; token: string; analyticsToken?: string; children?: ReactNode; defaultUserData?: UT; errorHandler?: ErrorHandler; i18nInstance?: Streami18n; options?: ClientOptions; sharedFeeds?: Array; }; export declare type StreamContextValue = { analyticsClient: null | StreamAnalytics; client: null | StreamClient; errorHandler: ErrorHandler; sharedFeedManagers: SharedFeedManagers; user?: StreamUser; userData?: UT; }; export declare const StreamContext: React.Context>; export declare const StreamAppProvider: ({ children, value, }: React.PropsWithChildren<{ value: StreamContextValue; }>) => JSX.Element; export declare const useStreamContext: () => StreamContextValue; /** * Manages the connection with Stream. Any components that should talk to * Stream should be a child of this component. */ export declare function StreamApp({ apiKey, appId, errorHandler, i18nInstance, token, analyticsToken, children, defaultUserData, options, sharedFeeds, }: StreamAppProps): JSX.Element | null; export {}; //# sourceMappingURL=StreamApp.d.ts.map