import { StorageAttribute } from "@magic-xpa/utils";
import { HtmlProperties, CustomValidator } from "@magic-xpa/gui";
/**
 * @ignore
 */
export declare class ControlMetadata {
    controlType: string;
    dataType: StorageAttribute;
    properties: Map<HtmlProperties, any>;
    classesMap: Map<HtmlClasses, any>;
    stylesMap: Map<HtmlClasses, any>;
    removedClass: string;
    classes: string;
    rangeValidator: boolean;
    userProperties: Map<string, any>;
    customValidators: Map<string, CustomValidator>;
    setClass(key: any, value: any): void;
    setStyle(key: any, value: any): void;
}
/**
 * @ignore
 */
export declare class ControlsMetadata {
    values: Map<string, string>;
    ControlsProperties: Map<string, ControlMetadata>;
    rowId: string;
    isCreated: boolean;
    isEditing: boolean;
    readonly Values: Map<string, string>;
    getControlMetadata(controlId: string): ControlMetadata;
    update(obj: any): void;
    setValue(controlName: string, value: any): void;
    getProperty(controlId: string, prop: HtmlProperties): any;
    getValue(controlName: string): string;
}
/**
 * @ignore
 */
export declare class Records {
    data: Map<number, ControlsMetadata>;
    list: ControlsMetadata[];
    includesFirst: boolean;
    includesLast: boolean;
    guiTopIndex: number;
    recordsBeforeCurrentView: number;
    isEmptyDataView: boolean;
    getRow(dvRowId: number): ControlsMetadata;
    markRowAsCreated(guiRowId: number): void;
    markRowAsNotCreated(guiRowId: number): void;
    isRowCreated(guiRowId: number): boolean;
    startRowEditing(guiRowId: number): void;
    stopRowEditing(guiRowId: number): void;
    isRowInRowEditing(guiRowId: string): boolean;
    update(obj: any): void;
    updateSize(len: number): void;
    /**
     * crears data for the first record
     * @param template
     */
    clearFirstTableRecord(template: {
        [id: string]: string;
    }): void;
    addRow(guiRowId: number): void;
    createFirst(): void;
    fromJson(data: string): void;
    setGuiTopIndex(topIndex: number): void;
    getGuiTopIndex(): number;
}
/**
 * @ignore
 */
export declare enum HtmlClasses {
    Color = "color",
    font = "font",
    FocusColor = "focuscolor",
    HintColor = "hintcolor"
}
