import { GlobalEnvironment } from "../../Environment/GlobalEnvironment.js";
import { GroupEnvironment } from "../../Environment/GroupEnvironment.js";
import { default as EditorModel } from "../../Models/EditorModel.js";
import FeatureModel from "../../Models/FeatureModel.js";
import GroupModel from "../../Models/GroupModel.js";
import SetModel from "../../Models/SetModel.js";
declare let Jade: typeof globalThis.Jade;
export interface IEditorBaseOptions extends Jade.UI.IControlOptions {
    focus: () => void;
}
export declare class EditorBase extends Jade.UI.Control {
    constructor(options: IEditorBaseOptions);
    private get focusCallback();
    focus(): void;
    protected onValidationErrors(): void;
}
export interface IEditorBaseOfOptions extends IEditorBaseOptions {
    source: EditorModel;
}
export declare class EditorBaseOf<TModel extends EditorModel> extends EditorBase {
    private m_source;
    constructor(options: IEditorBaseOfOptions);
    get source(): TModel;
    protected get feature(): FeatureModel;
    protected get featureGroup(): GroupModel;
    protected get featureSet(): SetModel;
    protected get globals(): GlobalEnvironment;
    protected get locals(): GroupEnvironment;
    protected onCreated(): void;
}
export {};
