stream-chat-react
Version:
React components to create chat conversations or livestream style chat
29 lines (28 loc) • 1.11 kB
TypeScript
import type { LocalMessage } from 'stream-chat';
import type { ReactEventHandler } from '../types';
export type PinEnabledUserRoles<T extends string = string> = Partial<Record<T, boolean>> & {
admin?: boolean;
anonymous?: boolean;
channel_member?: boolean;
channel_moderator?: boolean;
guest?: boolean;
member?: boolean;
moderator?: boolean;
owner?: boolean;
user?: boolean;
};
export type PinPermissions<T extends string = string, U extends string = string> = Partial<Record<T, PinEnabledUserRoles<U>>> & {
commerce?: PinEnabledUserRoles<U>;
gaming?: PinEnabledUserRoles<U>;
livestream?: PinEnabledUserRoles<U>;
messaging?: PinEnabledUserRoles<U>;
team?: PinEnabledUserRoles<U>;
};
export type PinMessageNotifications = {
getErrorNotification?: (message: LocalMessage) => string;
notify?: (notificationText: string, type: 'success' | 'error') => void;
};
export declare const usePinHandler: (message: LocalMessage, _permissions?: PinPermissions, notifications?: PinMessageNotifications) => {
canPin: boolean;
handlePin: ReactEventHandler;
};