import { PhysicalMaterialRecord } from "../../../../DatabaseServices/PhysicalMaterialRecord";
import { IResourceStoreIcon } from "../../../Store/OptionInterface/IOptionInterface";
import { IConfigOption } from "../../Board/UserConfigComponent";
import { Folder, ModuleData, ModuleType, PrivateDirs, PrivateDirsParams, PrivateModuleItem, ResourceBrands, ResourceClass, ResourceParams } from "./ResourceInterfaces";
export declare const pageCount: string;
export default class ResourceStore {
    configName: string;
    configsNames: string[];
    isInit: boolean;
    InitAllModulesFolder(): void;
    class_type: number;
    modulesList: ModuleData[];
    resourceClass: ResourceClass[];
    resourceBrands: ResourceBrands[];
    resourceParams: ResourceParams[];
    c: ResourceClass;
    currCategoryParams: {
        otherParams: ResourceParams[];
        barndsParams: ResourceBrands[];
        colorParams?: ResourceParams;
        styleParams?: ResourceParams;
    };
    levelThreeMenu: ResourceClass[];
    currentState: symbol;
    totalPage: number;
    currentPage: number;
    userFolder: Folder[];
    userCollection: ModuleData[];
    resourceLoading: boolean;
    filterParams: any;
    removeFn: Function;
    imgSearch: {
        imgSearchString: string | ArrayBuffer;
        originFile: File;
    };
    currentBarnd: string;
    currentName: string;
    clearAble: boolean;
    folderSort: 'dir_name' | 'create_date';
    userCollectionCurrPage: number;
    userCollectionTotalPage: number;
    classes: {
        class_id: string;
        class_name: string;
    }[];
    collectType: symbol;
    currentfolder: Folder;
    collectLoadgin: boolean;
    privateDirs: PrivateDirs[];
    privateModule: {
        params: PrivateDirsParams;
        total: number;
        data: PrivateModuleItem[];
        loading: boolean;
    };
    enterpriseType: Symbol;
    option: IResourceStoreIcon;
    InitOption(): void;
    SaveConfig(): IConfigOption<IResourceStoreIcon>;
    UpdateOption(conf: IConfigOption<IResourceStoreIcon>): void;
    /**
     * @description 加载所有的类目,参数,品牌参数
     */
    InitClassList: (class_type: number) => Promise<void>;
    /**
     * @param {ModuleData} module 模型数据,用于获取真实的模型地址
     * @description 在canvas上渲染模型
     */
    RenderMoudle: (module: ModuleData | PrivateModuleItem, type: ModuleType) => Promise<void>;
    PraseMaterial: (mtlPath: string) => Promise<PhysicalMaterialRecord | undefined>;
    /**
     * @param event 鼠标事件
     * @param module 模型数据,用于获取真实的模型地址
     * @description 模型列表的拖拽事件
     */
    WhenResourceDrag: (event: React.MouseEvent, module: ModuleData | PrivateModuleItem, type?: ModuleType) => Promise<void>;
    /**
     *
     * @param c 单曲类目
     * @description 切换模型类目,同时重新加载对应参数
     */
    HandleCategoryOnChange: (c: ResourceClass) => Promise<void>;
    /**
     *
     * @param c 单前类目
     * @description 三级菜单切换,和二级菜单切换没什么不同只是少了重置三级菜单
     */
    HandleLevelThreeMenuChange: (c: ResourceClass) => Promise<void>;
    /**
        * @name ReLoadParams
        * @name_zh 重新加载参数
        * @description 重新加载单曲类目下的参数
        * @param {ResourceClass} c 当前类目
    */
    ReLoadParams: (c: ResourceClass) => void;
    /**
     * @param class_id 类目id
     * @param params 筛选参数
     * @param curr_page 当前页
     * @param page_count 当前显示几条数据
     * @param logo 是否有图片
     * @description 初始化模型列表数据
     */
    InitModuleList: (class_id?: string, params?: object, curr_page?: string, page_count?: string, logo?: File, brands?: string[], name?: string) => Promise<import("./ResourceInterfaces").ModuleList>;
    /**
     * @description 获取用户文件夹
     */
    InitUserCollectDir: (order: string) => Promise<void>;
    /**
     * @description 新建用户文件夹
     */
    NewFolder: (fName?: string) => Promise<void>;
    /**
     * @description 筛选的时候需要将页码切换为1,所以有这个方法
     */
    ResetPage: () => Promise<void>;
    HandleMtlOnDrop: (e: DragEvent, module: ModuleData) => Promise<void>;
    SwitchFolder: (folder: Folder, name?: string) => Promise<void>;
    private static _SingleInstance;
    static GetInstance(): ResourceStore;
    GetPrivateDir: () => Promise<void>;
    GetPrivateModule: () => Promise<void>;
}
export declare const resourceStoreIcon: ResourceStore;
//# sourceMappingURL=RsourceStore.d.ts.map