import {Icon} from '@tabler/icons-react-native';
import {User} from '@interfaces/user';

import {ExtendedMessage} from './models/extendedMessage';

export * from './models/conversation';
export * from './models/message';
export * from './models/user';
export * from './models/event';
export * from './models/eventBase';
export * from './models/extendedMessage';
export * from './models/media';
export * from './models/blockMessage';
export * from './models/asset';
export * from './notifications';
export * from './sockets';
export * from './models/reaction';
export * from './models/highlightedSpan';
export * from './models/membership';
export * from './models/conversationProperties';
export * from './models/aiSummary';

export interface LastMessageInfo {
  TextComponent: React.ReactNode;
  PrefixIcon: Nullable<Icon>;
  date: string;
}

export interface SectionDateMessages {
  title: Nullable<string>;
  data: ExtendedMessage[];
  isUnreadCount?: boolean;
}

export type HuUser = Pick<
  User,
  | 'id'
  | 'firstName'
  | 'lastName'
  | 'email'
  | 'employeeInternalId'
  | 'profilePicture'
  | 'active'
  | 'deleted'
>;
