import { Store } from "./Store";
import { GuidValue, Feature, FeatureInstance } from "../models";
import { FeatureService } from "../services/FeatureService";
import { OmniaContext } from "../contexts";
export declare class FeatureStore extends Store {
    omniaContext: OmniaContext;
    featureService: FeatureService;
    private localizationService;
    private activatedFeatureIds;
    featureDefinitions: import("./Store").StoreState<Feature[]>;
    featureInstances: import("./Store").StoreState<FeatureInstance[]>;
    editingFeatureInstance: import("./Store").StoreState<FeatureInstance>;
    editingFeatureInstanceAction: import("./Store").StoreState<string>;
    getters: {
        isAnyFeaturesActivated: (featureIds: Array<GuidValue>) => boolean;
        isAllFeaturesActivated: (featureIds: Array<GuidValue>) => boolean;
        getFeatureDefinition: (featureDefinitionId: GuidValue) => Feature;
        getFeatureInstance: (featureId: GuidValue) => FeatureInstance;
    };
    mutations: {
        addOrUpdateFeatureInstance: import("./Store").StoreMutation<(feature: FeatureInstance) => void, (feature: FeatureInstance) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        setEditingFeatureInstance: (featureInstance: FeatureInstance) => void;
        setEditingFeatureInstanceAction: (action: string) => void;
    };
    actions: {
        loadFeatureDefinitions: import("./Store").StoreAction<unknown, () => void, (result: Feature[]) => void, (failureReason: any) => void, () => Promise<Feature[]>>;
        loadFeatureInstances: import("./Store").StoreAction<unknown, (targetResolverType: string, params: {
            [name: string]: string;
        }) => void, (result: FeatureInstance[], targetResolverType: string, params: {
            [name: string]: string;
        }) => void, (failureReason: any, targetResolverType: string, params: {
            [name: string]: string;
        }) => void, (targetResolverType: string, params: {
            [name: string]: string;
        }) => Promise<FeatureInstance[]>>;
        loadFeatureInstance: import("./Store").StoreAction<unknown, (featureId: GuidValue) => void, (result: FeatureInstance, featureId: GuidValue) => void, (failureReason: any, featureId: GuidValue) => void, (featureId: GuidValue) => Promise<FeatureInstance>>;
        activateFeature: import("./Store").StoreAction<unknown, (featureId: GuidValue, properties: any) => void, (result: FeatureInstance, featureId: GuidValue, properties: any) => void, (failureReason: any, featureId: GuidValue, properties: any) => void, (featureId: GuidValue, properties: any) => Promise<FeatureInstance>>;
        requestConsent: import("./Store").StoreAction<unknown, (featureIds: GuidValue[]) => void, (result: FeatureInstance[], featureIds: GuidValue[]) => void, (failureReason: any, featureIds: GuidValue[]) => void, (featureIds: GuidValue[]) => Promise<FeatureInstance[]>>;
        upgradeFeature: import("./Store").StoreAction<unknown, (featureId: GuidValue, properties: any) => void, (result: FeatureInstance, featureId: GuidValue, properties: any) => void, (failureReason: any, featureId: GuidValue, properties: any) => void, (featureId: GuidValue, properties: any) => Promise<FeatureInstance>>;
        removeFeature: import("./Store").StoreAction<unknown, (featureId: GuidValue) => void, (result: FeatureInstance, featureId: GuidValue) => void, (failureReason: any, featureId: GuidValue) => void, (featureId: GuidValue) => Promise<FeatureInstance>>;
    };
    private handleFeatureActivatedStatus;
    onActivated(): void;
    onDisposing(): void;
}
