import { GuidValue, TargetingProperty, TargetingPropertyData, TargetingPropertyResult, TargetingPropertyQuery, TargetingPropertyFlatResult } from "../models";
import { Store } from "./Store";
import { TargetingPropertyService } from "../services/TargetingPropertyService";
export declare class TargetingPropertyStore extends Store {
    targetingPropertyService: TargetingPropertyService;
    private ensuredLoadDataPromise;
    private ensuredUserTargetingResultPromise;
    targetingProperties: import("./Store").StoreState<TargetingProperty<TargetingPropertyData>[]>;
    targetingPropertyResult: import("./Store").StoreState<{
        [id: string]: TargetingPropertyResult;
    }>;
    getters: {
        properties: () => TargetingProperty<TargetingPropertyData>[];
        propertiesForEnterpriseProperty: (enterprisePropertyDefinitionId: GuidValue) => TargetingProperty<TargetingPropertyData>[];
        property: (id: GuidValue) => TargetingProperty<TargetingPropertyData>;
        userTargetingResult: (queries: TargetingPropertyQuery[]) => TargetingPropertyFlatResult[];
    };
    mutations: {};
    actions: {
        ensureLoadData: import("./Store").StoreAction<unknown, () => void, (result: boolean) => void, (failureReason: any) => void, () => Promise<boolean>>;
        addTargetingProperty: import("./Store").StoreAction<unknown, (property: TargetingProperty<TargetingPropertyData>) => void, (result: TargetingProperty<TargetingPropertyData>, property: TargetingProperty<TargetingPropertyData>) => void, (failureReason: any, property: TargetingProperty<TargetingPropertyData>) => void, (property: TargetingProperty<TargetingPropertyData>) => Promise<TargetingProperty<TargetingPropertyData>>>;
        updateTargetingProperty: import("./Store").StoreAction<unknown, (property: TargetingProperty<TargetingPropertyData>) => void, (result: TargetingProperty<TargetingPropertyData>, property: TargetingProperty<TargetingPropertyData>) => void, (failureReason: any, property: TargetingProperty<TargetingPropertyData>) => void, (property: TargetingProperty<TargetingPropertyData>) => Promise<TargetingProperty<TargetingPropertyData>>>;
        removeTargetingProperty: import("./Store").StoreAction<unknown, (propertyId: GuidValue) => void, (result: boolean, propertyId: GuidValue) => void, (failureReason: any, propertyId: GuidValue) => void, (propertyId: GuidValue) => Promise<boolean>>;
        ensureUserTargetingResult: import("./Store").StoreAction<unknown, () => void, (result: boolean) => void, (failureReason: any) => void, () => Promise<boolean>>;
        terminateTargetingProperty: import("./Store").StoreAction<unknown, (propertyId: GuidValue) => void, (result: boolean, propertyId: GuidValue) => void, (failureReason: any, propertyId: GuidValue) => void, (propertyId: GuidValue) => Promise<boolean>>;
        restoreTargetingProperty: import("./Store").StoreAction<unknown, (propertyId: GuidValue) => void, (result: TargetingProperty<TargetingPropertyData>, propertyId: GuidValue) => void, (failureReason: any, propertyId: GuidValue) => void, (propertyId: GuidValue) => Promise<TargetingProperty<TargetingPropertyData>>>;
        invalidateTargetingPropertyResultCache: import("./Store").StoreAction<unknown, () => void, (result: void) => void, (failureReason: any) => void, () => Promise<void>>;
    };
    onActivated(): void;
    onDisposing(): void;
}
