import type { IMessage, IRoom, IUser, RoomAdminFieldsType, IUpload, IE2EEMessage, ITeam, IRole } from '@rocket.chat/core-typings'; import type { PaginatedRequest } from '../helpers/PaginatedRequest'; import type { PaginatedResult } from '../helpers/PaginatedResult'; type RoomsAutoCompleteChannelAndPrivateProps = { selector: string; }; export declare const isRoomsAutoCompleteChannelAndPrivateProps: import("ajv").ValidateFunction; type RoomsAutocompleteChannelAndPrivateWithPaginationProps = PaginatedRequest<{ selector: string; }>; export declare const isRoomsAutocompleteChannelAndPrivateWithPaginationProps: import("ajv").ValidateFunction; type RoomsAutocompleteAvailableForTeamsProps = { name: string; }; export declare const isRoomsAutocompleteAvailableForTeamsProps: import("ajv").ValidateFunction; type RoomsAutocompleteAdminRoomsPayload = { selector: string; }; export declare const isRoomsAutocompleteAdminRoomsPayload: import("ajv").ValidateFunction; type BaseRoomsProps = { roomId: string; } | { roomName: string; }; type RoomsInfoProps = BaseRoomsProps; type RoomsLeaveProps = BaseRoomsProps; export declare const isRoomsInfoProps: import("ajv").ValidateFunction; type RoomsCreateDiscussionProps = { prid: IRoom['_id']; pmid?: IMessage['_id']; t_name: string; users?: IUser['username'][]; encrypted?: boolean; reply?: string; topic?: string; }; export declare const isRoomsCreateDiscussionProps: import("ajv").ValidateFunction; type RoomsExportProps = RoomsExportFileProps | RoomsExportEmailProps; type RoomsExportFileProps = { rid: IRoom['_id']; type: 'file'; format: 'html' | 'json'; dateFrom?: string; dateTo?: string; }; type RoomsExportEmailProps = { rid: IRoom['_id']; type: 'email'; toUsers?: IUser['username'][]; toEmails?: string[]; additionalEmails?: string; subject?: string; messages: IMessage['_id'][]; }; export declare const isRoomsExportProps: import("ajv").ValidateFunction; type RoomsAdminRoomsProps = PaginatedRequest<{ filter?: string; types?: string[]; }>; export declare const isRoomsAdminRoomsProps: import("ajv").ValidateFunction; type RoomsAdminRoomsGetRoomProps = { rid?: string; }; export declare const isRoomsAdminRoomsGetRoomProps: import("ajv").ValidateFunction; type RoomsChangeArchivationStateProps = { rid: string; action?: string; }; export declare const isRoomsChangeArchivationStateProps: import("ajv").ValidateFunction; type RoomsSaveRoomSettingsProps = { rid: string; roomAvatar?: string; featured?: boolean; roomName?: string; roomTopic?: string; roomAnnouncement?: string; roomDescription?: string; roomType?: IRoom['t']; readOnly?: boolean; reactWhenReadOnly?: boolean; default?: boolean; encrypted?: boolean; favorite?: { defaultValue?: boolean; favorite?: boolean; }; retentionEnabled?: boolean; retentionMaxAge?: number; retentionExcludePinned?: boolean; retentionFilesOnly?: boolean; retentionIgnoreThreads?: boolean; retentionOverrideGlobal?: boolean; }; export declare const isRoomsSaveRoomSettingsProps: import("ajv").ValidateFunction; type GETRoomsNameExists = { roomName: string; }; export declare const isGETRoomsNameExists: import("ajv").ValidateFunction; type RoomsIsMemberProps = { roomId: string; } & ({ username: string; } | { userId: string; }); export declare const isRoomsIsMemberProps: import("ajv").ValidateFunction; export type Notifications = { disableNotifications?: string; muteGroupMentions?: string; hideUnreadStatus?: string; desktopNotifications?: string; audioNotificationValue?: string; mobilePushNotifications?: string; emailNotifications?: string; }; type RoomsGetDiscussionsProps = PaginatedRequest; type RoomsMuteUnmuteUser = { userId: string; roomId: string; } | { username: string; roomId: string; }; export declare const isRoomsMuteUnmuteUserProps: import("ajv").ValidateFunction; export type RoomsImagesProps = { roomId: string; startingFromId?: string; count?: number; offset?: number; }; export declare const isRoomsImagesProps: import("ajv").ValidateFunction; export type RoomsCleanHistoryProps = { roomId: IRoom['_id']; latest: string; oldest: string; inclusive?: boolean; excludePinned?: boolean; filesOnly?: boolean; users?: IUser['username'][]; limit?: number; ignoreDiscussion?: boolean; ignoreThreads?: boolean; }; export declare const isRoomsCleanHistoryProps: import("ajv").ValidateFunction; type RoomsOpenProps = { roomId: string; }; export declare const isRoomsOpenProps: import("ajv").ValidateFunction; type MembersOrderedByRoleProps = { roomId?: IRoom['_id']; roomName?: IRoom['name']; status?: string[]; filter?: string; }; export type RoomsMembersOrderedByRoleProps = PaginatedRequest; export declare const isRoomsMembersOrderedByRoleProps: import("ajv").ValidateFunction; type RoomsHideProps = { roomId: string; }; export declare const isRoomsHideProps: import("ajv").ValidateFunction; export type RoomsEndpoints = { '/v1/rooms.autocomplete.channelAndPrivate': { GET: (params: RoomsAutoCompleteChannelAndPrivateProps) => { items: IRoom[]; }; }; '/v1/rooms.autocomplete.channelAndPrivate.withPagination': { GET: (params: RoomsAutocompleteChannelAndPrivateWithPaginationProps) => { items: IRoom[]; total: number; }; }; '/v1/rooms.autocomplete.availableForTeams': { GET: (params: RoomsAutocompleteAvailableForTeamsProps) => { items: IRoom[]; }; }; '/v1/rooms.autocomplete.adminRooms': { GET: (params: RoomsAutocompleteAdminRoomsPayload) => { items: IRoom[]; }; }; '/v1/rooms.info': { GET: (params: RoomsInfoProps) => { room: IRoom | undefined; parent?: Pick; team?: Pick; }; }; '/v1/rooms.cleanHistory': { POST: (params: RoomsCleanHistoryProps) => { _id: IRoom['_id']; count: number; success: boolean; }; }; '/v1/rooms.createDiscussion': { POST: (params: RoomsCreateDiscussionProps) => { discussion: IRoom & { rid: IRoom['_id']; }; }; }; '/v1/rooms.export': { POST: (params: RoomsExportProps) => { missing?: string[]; success: boolean; } | void; }; '/v1/rooms.adminRooms': { GET: (params: RoomsAdminRoomsProps) => PaginatedResult<{ rooms: Pick[]; }>; }; '/v1/rooms.adminRooms.getRoom': { GET: (params: RoomsAdminRoomsGetRoomProps) => Pick; }; '/v1/rooms.saveRoomSettings': { POST: (params: RoomsSaveRoomSettingsProps) => { success: boolean; rid: string; }; }; '/v1/rooms.changeArchivationState': { POST: (params: RoomsChangeArchivationStateProps) => { success: boolean; }; }; '/v1/rooms.upload/:rid': { POST: (params: { file: File; description?: string; avatar?: string; emoji?: string; alias?: string; groupable?: boolean; msg?: string; tmid?: string; customFields?: string; }) => { message: IMessage | null; }; }; '/v1/rooms.media/:rid': { POST: (params: { file: File; }) => { file: { url: string; }; }; }; '/v1/rooms.mediaConfirm/:rid/:fileId': { POST: (params: { description?: string; avatar?: string; emoji?: string; alias?: string; groupable?: boolean; msg?: string; tmid?: string; customFields?: string; t?: IMessage['t']; content?: IE2EEMessage['content']; }) => { message: IMessage | null; }; }; '/v1/rooms.saveNotification': { POST: (params: { roomId: string; notifications: Notifications; }) => void; }; '/v1/rooms.favorite': { POST: (params: { roomId: string; favorite: boolean; } | { roomName: string; favorite: boolean; }) => void; }; '/v1/rooms.nameExists': { GET: (params: { roomName: string; }) => { exists: boolean; }; }; '/v1/rooms.delete': { POST: (params: { roomId: string; }) => void; }; '/v1/rooms.get': { GET: (params: { updatedSince: string; }) => { update: IRoom[]; remove: IRoom[]; }; }; '/v1/rooms.leave': { POST: (params: RoomsLeaveProps) => void; }; '/v1/rooms.getDiscussions': { GET: (params: RoomsGetDiscussionsProps) => PaginatedResult<{ discussions: IRoom[]; }>; }; '/v1/rooms.isMember': { GET: (params: RoomsIsMemberProps) => { isMember: boolean; }; }; '/v1/rooms.muteUser': { POST: (params: RoomsMuteUnmuteUser) => void; }; '/v1/rooms.unmuteUser': { POST: (params: RoomsMuteUnmuteUser) => void; }; '/v1/rooms.images': { GET: (params: RoomsImagesProps) => PaginatedResult<{ files: IUpload[]; }>; }; '/v1/rooms.open': { POST: (params: RoomsOpenProps) => void; }; '/v1/rooms.membersOrderedByRole': { GET: (params: RoomsMembersOrderedByRoleProps) => PaginatedResult<{ members: (IUser & { roles?: IRole['_id'][]; })[]; }>; }; '/v1/rooms.hide': { POST: (params: RoomsHideProps) => void; }; }; export {}; //# sourceMappingURL=rooms.d.ts.map