import { EnterprisePropertyDataTypeIds } from "../filterengine";
import { PropertyConfiguration, PropertyDefinition, PropertyDefinitionId } from "../properties";
import { EnterprisePropertySettings } from "./EnterprisePropertySettings";
export declare abstract class PropertySetting<TEnterprisePropertySettings extends EnterprisePropertySettings> {
    constructor();
    abstract getPropertyConfiguration(enterprisePropertySettings: TEnterprisePropertySettings): Promise<PropertyConfiguration<PropertyDefinition<any, any, any, any>>>;
}
export declare class EnterprisePropertyToPropertySettingsMap {
    readonly enterprisePropertyDataTypeId: EnterprisePropertyDataTypeIds;
    readonly propertyDefintionId: PropertyDefinitionId;
    readonly propertySettings?: new () => PropertySetting<any>;
    constructor(propDefinitionCtor: new () => PropertyDefinition<any, any, any>, enterprisePropertyDataTypeId: EnterprisePropertyDataTypeIds, propSettingCtor?: new () => PropertySetting<any>);
}
