import { Guid, PropertyConfiguration, PropertyDefinition, DataSourcePropertyDisplayInformation, PropertyDefinitionId, PropertyDisplaySettingsBase, PropertySetupBase, AppDataSourceProperty } from "@omnia/fx-models";
import { EnterprisePropertyStore, MultilingualStore } from "@omnia/fx/stores";
import { LocalizationService, PropertyDataSourceBase, WritebackResult, EnterprisePropertiesProvider, PropertyBindingService } from "@omnia/fx/services";
export declare class AppPropertiesProvider extends PropertyDataSourceBase<AppDataSourceProperty> {
    id: Guid;
    title: string;
    private omniaContext;
    enterprisePropertyStore: EnterprisePropertyStore;
    multilingualStore: MultilingualStore;
    enterprisePropertiesProvider: EnterprisePropertiesProvider;
    localizationService: LocalizationService;
    propertyBindingService: PropertyBindingService;
    private static builtInProperties;
    isEqual: (dataSourceProperty1: AppDataSourceProperty, dataSourceProperty2: AppDataSourceProperty) => boolean;
    getProperties(): Promise<Array<AppDataSourceProperty>>;
    getPropertyConfiguration(property: AppDataSourceProperty): Promise<PropertyConfiguration<PropertyDefinition<any, PropertyDisplaySettingsBase, any, PropertySetupBase>>>;
    getPropertyDefinition(property: AppDataSourceProperty): Promise<PropertyDefinitionId>;
    getPropertyValues(properties: AppDataSourceProperty[]): Promise<Array<{
        valueFromSource: any;
        dataSourceProperty: AppDataSourceProperty;
    }>>;
    getPropertyDisplayInformation(dataSourceProperties: AppDataSourceProperty[]): Promise<{
        property: AppDataSourceProperty;
        displayInformation: DataSourcePropertyDisplayInformation;
    }[]>;
    supportsWriteback2(properties: AppDataSourceProperty[]): Promise<{
        property: AppDataSourceProperty;
        supportsWriteBack: boolean;
    }[]>;
    writeback(properties: {
        dataSourceProperty: AppDataSourceProperty;
        valueToWriteback: any;
    }[]): Promise<WritebackResult[]>;
}
