import { t } from '../common';
export declare type IArgs = {
    column: string | number;
    name: string;
    type?: t.CellType;
    target?: t.CellTypeTarget;
    default?: t.ITypeDefault | t.TypeDefaultValue;
    onChange?: OnPropChangeEventHandler;
};
export declare type OnPropChangeEvent = {
    prop: string;
    value: any;
};
export declare type OnPropChangeEventHandler = (e: OnPropChangeEvent) => void;
export declare class TypeBuilderProp implements t.ITypeBuilderProp {
    static create: (args: IArgs) => t.ITypeBuilderProp;
    private constructor();
    private _column;
    private _name;
    private _type;
    private _target?;
    private _default?;
    private _onChange?;
    private get columnKey();
    toObject(): {
        column: string;
        name: string;
        type: string;
        target: string | undefined;
        default: string | number | boolean | import("@platform/types").JsonMap | t.ITypeDefaultValue | t.ITypeDefaultRef | t.PrimitiveValue[] | null | undefined;
    };
    column(value: string | number): t.ITypeBuilderProp;
    name(value: string): t.ITypeBuilderProp;
    type(value: t.CellType): t.ITypeBuilderProp;
    target(value: t.CellTypeTarget | undefined): t.ITypeBuilderProp;
    default(value: t.ITypeDefault | t.TypeDefaultValue | undefined): t.ITypeBuilderProp;
    private fireChange;
}
