import { FaceDirection, IUiOption, IKnifeProps } from "../BoardInterface";
import { IConfigOption } from "../../Components/Board/UserConfig";
import { IConfigStore } from "../BoardStore";
import { I2DModeling, IKnifeInfo } from "../../../DatabaseServices/Entity/Board";
export interface IKnifeInfo2 {
    id: string;
    name: string;
    props: IKnifeProps;
}
export interface IVModelingInfo {
    id: string;
    offset: number;
    depth: number;
    knife: IKnifeInfo2;
}
declare type IUIVModelingInfo = Pick<IUiOption<IVModelingInfo>, "offset" | "depth">[];
export interface IModeling2Item {
    readonly color: number;
    dir: FaceDirection;
    items: IVModelingInfo[];
}
export interface IUiVModeing {
    readonly color: number;
    dir: FaceDirection;
    items: IUIVModelingInfo;
}
export declare class Modeling2Store implements IConfigStore {
    configName: string;
    configsNames: string[];
    modelingItems: IModeling2Item[];
    uiModeingItems: IUiVModeing[];
    isUpdate: boolean;
    private _ModelingItemId;
    constructor();
    get Id(): string;
    InitModelingItems(): void;
    AddItems(index: number): void;
    RemoveItem(index: number, itemIndex: number): void;
    ChangeModelingValue(index: number, data: I2DModeling): void;
    ChangeModelingValue3D(index: number, item: {
        knife: IKnifeInfo;
        dir: FaceDirection;
    }): void;
    InitOption(): void;
    SaveConfig(): IConfigOption<import("../BoardInterface").AnyObject>;
    UpdateUIOption(): void;
    UpdateOption(cof: IConfigOption): void;
}
export {};
//# sourceMappingURL=Modeling2Store.d.ts.map