import { default as CxIcon } from '../../../../../atoms/src/components/icon/icon.ts';
import { default as CxLineClamp } from '../../../../../atoms/src/components/line-clamp/line-clamp.ts';
import { default as CxTreeItem } from '../../../../../atoms/src/components/tree-item/tree-item.ts';
import { default as CortexElement } from '../../../../../base/src/cortex-element.ts';
import { CxLazyLoadEvent } from '../../../../../events/src/events.ts';
import { FolderOption } from '../../../../../types/src/file-on-demand';
import { CSSResultGroup, TemplateResult } from 'lit';

export default class CxFolderItem extends CortexElement {
    private readonly localize;
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-icon': typeof CxIcon;
        'cx-line-clamp': typeof CxLineClamp;
        'cx-tree-item': typeof CxTreeItem;
    };
    role: string;
    readonly treeItem: CxTreeItem;
    siteUrl: string;
    token: string;
    searchText: string;
    folder: FolderOption | null;
    currentRootIDsSet: Set<string>;
    folderPathsSet: Set<string>;
    removedIDs: string[];
    data: FolderOption[] | null;
    totalCount: number;
    isLoading: boolean;
    get selected(): boolean;
    set selected(value: boolean);
    get expanded(): boolean;
    set expanded(value: boolean);
    get indeterminate(): boolean;
    set indeterminate(value: boolean);
    createRenderRoot(): this;
    getChildrenItems(): CxTreeItem[];
    fetchFolders: ({ folderId, start, }: {
        folderId: string;
        start?: number;
    }) => Promise<{
        data: FolderOption[];
        totalCount: number;
    }>;
    private readonly loadMore;
    onLazyLoad: (e: CxLazyLoadEvent) => Promise<void>;
    syncBoxes(): Promise<void>;
    render(): TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-folder-item': CxFolderItem;
    }
}
