import React, { PropsWithChildren } from 'react'; import type { Channel, ChannelConfigWithInfo, DefaultOneChatGenerics, GiphyVersions, ImageAttachmentSizeHandler, MessageResponse, Mute, ChannelState as OneChatChannelState, UnknownType, VideoAttachmentSizeHandler } from '../types'; export declare type ChannelNotifications = Array<{ id: string; text: string; type: 'success' | 'error'; }>; export declare type OneChatMessage = ReturnType['formatMessage']> | MessageResponse; export declare type ChannelState = { suppressAutoscroll: boolean; error?: Error | null; hasMore?: boolean; hasMoreNewer?: boolean; highlightedMessageId?: string; loading?: boolean; loadingMore?: boolean; loadingMoreNewer?: boolean; members?: OneChatChannelState['members']; messages?: OneChatMessage[]; pinnedMessages?: OneChatMessage[]; quotedMessage?: OneChatMessage; read?: OneChatChannelState['read']; thread?: OneChatMessage | null; threadHasMore?: boolean; threadLoadingMore?: boolean; threadMessages?: OneChatMessage[]; threadSuppressAutoscroll?: boolean; typing?: OneChatChannelState['typing']; watcherCount?: number; watchers?: OneChatChannelState['watchers']; }; export declare type ChannelStateContextValue = Omit, 'typing'> & { channel: Channel; channelCapabilities: Record; channelConfig: ChannelConfigWithInfo | undefined; imageAttachmentSizeHandler: ImageAttachmentSizeHandler; multipleUploads: boolean; notifications: ChannelNotifications; shouldGenerateVideoThumbnail: boolean; videoAttachmentSizeHandler: VideoAttachmentSizeHandler; acceptedFiles?: string[]; dragAndDropWindow?: boolean; giphyVersion?: GiphyVersions; maxNumberOfFiles?: number; mutes?: Array>; watcher_count?: number; }; export declare const ChannelStateContext: React.Context | undefined>; export declare const ChannelStateProvider: ({ children, value, }: React.PropsWithChildren<{ value: ChannelStateContextValue; }>) => JSX.Element; export declare const useChannelStateContext: (componentName?: string) => ChannelStateContextValue; /** * Typescript currently does not support partial inference, so if ChannelStateContext * typing is desired while using the HOC withChannelStateContext, the Props for the * wrapped component must be provided as the first generic. */ export declare const withChannelStateContext:

(Component: React.ComponentType

) => { (props: Omit): JSX.Element; displayName: string; }; //# sourceMappingURL=ChannelStateContext.d.ts.map