import { PageMetadataDto, PaginationQueryDto, SortDirection, UserDto } from "./base"; export declare enum AnnouncementType { INFORMATION = "information", COLLECT = "collect" } export declare enum AnnouncementSearchType { ALL = "all", INFORMATION = "information", COLLECT = "collect" } export declare enum MediaType { AUDIO = "audio", VIDEO = "video", IMAGE = "image", ATTACHMENT = "attachment", EMBEDDER = "embedder", HYPERLINK = "hyperlink", STUDIO = "studio" } export declare class MediaDto { id: string; name: string; type: MediaType; mimeType: string; url: string; application?: string; } export declare abstract class AnnouncementDto { id: number; type: AnnouncementType; publicationDate: Date; modificationDate?: Date; author: UserDto; modifier?: UserDto; communityId: number; } export declare class InformationAnnouncementDto extends AnnouncementDto { content: string; media: MediaDto[]; } export declare class CollectAnnouncementDto extends AnnouncementDto { collectId: number; } export declare abstract class CreateAnnouncementDto { } export declare class CreateInformationAnnouncementDto extends CreateAnnouncementDto { type?: AnnouncementType; content: string; media: MediaDto[]; } export declare class CreateCollectAnnouncementDto extends CreateAnnouncementDto { type?: AnnouncementType; collectId: number; } export declare abstract class UpdateAnnouncementDto { } export declare class UpdateInformationAnnouncementDto extends UpdateAnnouncementDto { type?: AnnouncementType; content: string; media: MediaDto[]; } export declare class UpdateCollectAnnouncementDto extends UpdateAnnouncementDto { type?: AnnouncementType; collectId: number; } export declare class CountAnnouncementDto { count: number; } export declare enum AnnouncementSortField { PUBLICATION_DATE = "publicationDate", MODIFICATION_DATE = "modificationDate" } export declare class SearchAnnouncementDto extends PaginationQueryDto { publishedAfter?: Date; sortBy?: AnnouncementSortField; sortDirection?: SortDirection; type?: AnnouncementSearchType; } export declare class SearchAnnouncementResponseDto { items: AnnouncementDto[]; meta: PageMetadataDto; } export declare class CountAnnouncementsDto { count: number; }