import { PageMetadataDto, PaginationQueryDto, SortDirection, UserDto } from "./base"; export declare class CountDiscussionsDto { count: number; } export declare class CountDiscussionMessagesDto { count: number; } export declare const DiscussionIcon: { readonly DISCUSSION: "discussion"; readonly QUESTION: "question"; readonly EVENT: "event"; readonly IMPORTANT: "important"; readonly OTHER: "other"; }; export type DiscussionIcon = (typeof DiscussionIcon)[keyof typeof DiscussionIcon]; export declare class DiscussionDto { id: number; title: string; icon: DiscussionIcon; firstMessage: string; createdAt: Date; updatedAt?: Date; lockedAt?: Date; hiddenAt?: Date; communityId: number; createdBy: UserDto; lastMessageTime: Date; nMessages: number; nUsers: number; fisrtUsers: UserDto[]; } export declare class MessageDto { id: number; content: string; createdAt: Date; updatedAt?: Date; createdBy: UserDto; } export declare const DiscussionSortField: { readonly TITLE: "title"; readonly CREATION_DATE: "creation date"; readonly LAST_MESSAGE_DATE: "last message date"; }; export type DiscussionSortField = (typeof DiscussionSortField)[keyof typeof DiscussionSortField]; export declare class SearchDiscussionDto extends PaginationQueryDto { sortBy?: DiscussionSortField; sortDirection?: SortDirection; search?: string; } export declare class SearchDiscussionResponseDto { items: DiscussionDto[]; meta: PageMetadataDto; } export declare class ListMessagesResponseDto { items: MessageDto[]; meta: PageMetadataDto; } export declare class CreateDiscussionDto { title: string; icon: string; firstMessage: string; } export declare class CreateMessageDto { content: string; }