import { GuidValue } from "@omnia/fx-models";
import { VueComponentBase } from "../../VueComponentBase";
export type PropertyDefinitionId = GuidValue;
export type PropertyTypeId = GuidValue;
export type PropertyData = string | number | boolean | Object;
export interface PropertySettings {
}
export interface PropertyTypeSettings {
}
export interface PropertyDefinitionOld {
    id: PropertyDefinitionId;
    title: string;
    internalName: string;
    type: new (property: PropertyTypeBaseConstructor) => PropertyTypeBase<PropertyTypeSettings>;
}
export interface PropertyTypeBaseConstructor {
    data: PropertyData;
    settings?: PropertySettings;
}
export declare abstract class PropertyTypeBase<TSettings extends PropertyTypeSettings = PropertyTypeSettings> extends VueComponentBase {
    constructor(property: PropertyTypeBaseConstructor);
    protected data: PropertyData;
    protected settings?: TSettings;
    abstract id: PropertyTypeId;
    abstract display(): JSX.Element;
    abstract edit(): JSX.Element;
}
