import type { Account } from "../entities/account"; import { boardsApi, foldersApi } from "../shared/api"; import { Subject } from "../shared/Subject"; import { Storage } from "./Storage"; type FolderItem = { id: string | number; title: string; itemType: "board" | "folder"; type?: foldersApi.FolderType; }; export declare class BoardsList { private readonly storage; private readonly account; subject: Subject; private sharedFolder; private rootFolder; private draftsFolder; private activeDndItem; private overDndItem; isLoading: boolean; constructor(storage: Storage, account: Account); getSharedFolder(): foldersApi.Folder | null; getRootFolder(): foldersApi.Folder | null; getDraftsFolder(): foldersApi.Folder | null; createFolder(title?: string, parentFolder?: number): Promise; createBoard(name?: string, isPublic?: boolean, parentFolder?: number): Promise; getBoardInfo(boardId: string | null): foldersApi.NestedBoard | null; private findPathToBoard; getPathToBoard(boardId: string): number[] | null; private findPathToFolder; getPathToFolder(folderId: number): number[] | null; isFolderContainsBoard(folderId: number, boardId: string): boolean; isFolderContainsFolder(folderId: number, targetFolderId: number): boolean; getFolder(folderId: number | null): foldersApi.Folder | foldersApi.NestedFolder | null; getFolderByType(folderType: foldersApi.FolderType): foldersApi.Folder | foldersApi.NestedFolder | null; loadBoards(): Promise; updatePrivacySettings(boardId: string, isPublic: boolean, mode: boardsApi.DirectAccessType): Promise; private updateEmptyTitles; visitBoard(id: string): Promise>; claim(): Promise; rename(boardId: string, name: string): Promise; renameFolder(folderId: number, name: string): Promise; removeBoard(boardId: string): Promise; addItemToFolder(folderId: number, item: foldersApi.NestedBoard | foldersApi.NestedFolder, order?: number): Promise; getItemIndexInFolder(folderId: number, itemId: string | number): number | null; removeItemFromFolder(folderId: number, itemId: string | number): Promise; removeFolder(folderId: number): Promise; private updateDetails; manageAccess(boardId: string, payload: boardsApi.ManageAccessPayload): Promise; setDraggableDndItem(item: FolderItem | null): void; getDraggableDndItem(): FolderItem; setOverDndItem(item: FolderItem | null): void; getOverDndItem(): FolderItem; private updateList; private action; } export {};