import { CADFiler } from "../../../DatabaseServices/CADFiler";
import { ObjectId } from "../../../DatabaseServices/ObjectId";
import { TemplateRecord } from "../../../DatabaseServices/Template/TemplateRecord";
import { IHingeRule } from "../../../UI/Store/DoorDrawerStore/IHingeRule";
import { DoorOpenDir } from "../../../UI/Store/DoorInterface";
import { ITemplateParam } from "../../../UI/Store/RightPanelStore/ITemplateParam";
import { HingeSpaceTemplateRecord } from "./HingeSpaceTemplateRecord";
export declare class DoorSpaceTemplateRecord extends TemplateRecord {
    constructor();
    private _DoorLParamValue;
    private _DoorWParamValue;
    private _DoorHParamValue;
    private _DoorTemplateObjectId;
    private _CloneHingeSpaceTemplateObjectId;
    private _CacheHingeSpaceTemplates;
    private _OpenDir;
    private _IsUpdateHingeCountForRule;
    private _Rules;
    private _Deviation;
    private _HingeTemplateId;
    private _HingeTemplateParam;
    private _CacheHingeTemplate;
    private _CacheLParamValue;
    private _CacheWParamValue;
    private _CacheHParamValue;
    private _HingeSet;
    private _IsUpdateHingeTemplate;
    private _IsWarnHingeRules;
    private _ParseHingePos;
    ForceUpdate: boolean;
    get DoorTemplateObjectId(): ObjectId;
    set DoorTemplateObjectId(id: ObjectId);
    set HingeTemplateId(id: string);
    get HingeTemplateId(): string;
    set Deviation(deviation: number);
    get Deviation(): number;
    get OpenDir(): DoorOpenDir;
    set OpenDir(openDir: DoorOpenDir);
    get IsUpdateHingeCountForRule(): boolean;
    set IsUpdateHingeCountForRule(value: boolean);
    get HingeTemplateParam(): ITemplateParam[];
    set ParseHingePos(value: boolean);
    get ParseHingePos(): boolean;
    set HingeTemplateParam(hingeTemplateParam: ITemplateParam[]);
    get IsUpdateHingeTemplate(): boolean;
    set IsUpdateHingeTemplate(updateHingeTemplate: boolean);
    set Rules(rules: IHingeRule[]);
    get Rules(): IHingeRule[];
    InitBaseParams(): this;
    SetHingeParam(hingeSpaceTemp: HingeSpaceTemplateRecord, rule: IHingeRule): void;
    Purge(): void;
    GetParamValue(): void;
    protected Update(): Promise<void>;
    UpdateOther(): Promise<void>;
    WriteFile(file: CADFiler): void;
    ReadFile(file: CADFiler): void;
}
//# sourceMappingURL=DoorSpaceTemplateRecord.d.ts.map