import { Singleton } from "../../../Common/Singleton";
import { IConfigOption } from "../../../UI/Components/Board/UserConfigComponent";
import { IConfigStore } from "../../../UI/Store/BoardStore";
import { AnyObject, IUiOption } from "../../../UI/Store/OptionInterface/IOptionInterface";
import { KJLUseName } from "./KJLConfig";
import { KJLImportConfigOption } from "./KJLImportConfigOption";
export interface MaterialOption {
    keyIndex: number;
    kjlName: string;
    id: string;
    materialName: string;
    url: string;
    isSelect: boolean;
    isRender: boolean;
}
interface ValueMapUiOption {
    m_uiEdgeValueMap: [string, string][];
    m_uiDrillValueMap: [string, string][];
}
export declare class KJLImportConfigStore extends Singleton implements IConfigStore {
    configName: string;
    configsNames: string[];
    m_Option: KJLImportConfigOption;
    kjlUseName: KJLUseName;
    uiOption: IUiOption<ValueMapUiOption>;
    materialList: MaterialOption[];
    selectAll: boolean;
    materialMap: Map<string, {
        materialName: string;
        url: string;
        isLoading: boolean;
    }>;
    ImpExpSuffix: string;
    get UIOption(): IUiOption<ValueMapUiOption>;
    InitOption(): void;
    SaveConfig(): IConfigOption<AnyObject>;
    UpdateOption(cof: IConfigOption<KJLImportConfigOption>): void;
    UpdataVersion(cof: IConfigOption<KJLImportConfigOption>): void;
    private ConvertUIData;
    private OrderUIData;
    LoadMaterials: () => Promise<void>;
    materialLoadList: Set<MaterialOption>;
    updataMaterialList(id: string): Promise<void>;
    GetMaterialInfo: (material_id: string) => Promise<{
        materialName: string;
        url: string;
    }>;
    GetSerializeConfig(conf: IConfigOption<AnyObject>): Promise<any[]>;
    GetDeserializeConfig(data: any[]): Promise<IConfigOption<AnyObject>>;
}
export {};
//# sourceMappingURL=KJLImportConfigStore.d.ts.map