import { MessageThread } from "../types/MessageThread";
import { MessageFilterType } from "../types/CountingMessages";
import { ThreadSubject } from "../types/ThreadSubject";
export declare type GetThreadsPayload = {
    ids?: number[];
    type?: MessageFilterType;
    orderName?: string;
};
export declare type ChangeThreadSubjectPayload = {
    threadId: number;
    subjectId?: number;
    orderName?: string;
};
export declare type ChangeThreadOrderPayload = {
    threadId: number;
    orderName: string;
};
export declare type UpdateManagersInThread = {
    threadId: number;
    managerUids: string[];
};
declare class ThreadService {
    getThreadById(threadId: number): Promise<MessageThread>;
    getThreads(payload?: GetThreadsPayload): Promise<MessageThread[]>;
    getThreadSubjects(): Promise<ThreadSubject[]>;
    addThreadToFavorite(threadId: number): Promise<MessageThread>;
    removeThreadFromFavorite(threadId: number): Promise<MessageThread>;
    closeThread(threadId: number): Promise<MessageThread>;
    openThread(threadId: number): Promise<MessageThread>;
    changeThreadOrder(payload: ChangeThreadOrderPayload): Promise<MessageThread>;
    changeThreadSubject(payload: ChangeThreadSubjectPayload): Promise<MessageThread>;
    updateManagersInThread(payload: UpdateManagersInThread): Promise<MessageThread>;
}
declare const _default: ThreadService;
export default _default;
