import { BusinessProfile, BusinessProfileWithProperties, MultilingualString } from "../models";
import { Store } from "./Store";
import { BusinessProfileService } from "../services/BusinessProfileService";
import { OmniaContext } from "../contexts";
export declare class BusinessProfileStore extends Store {
    profileService: BusinessProfileService;
    omniaContext: OmniaContext;
    private subscriptionHandler;
    private allProfiles;
    private profileProperties;
    private businessProfile;
    private ensureAllProfilesPromise;
    private ensureProfilesWithPropertiesPromises;
    private ensureProfilesPromises;
    onActivated(): void;
    onDisposing(): void;
    getters: {
        profiles: () => BusinessProfile[];
        profile: (profileId: string) => BusinessProfile;
        profileWithProperties: (profileId: string) => BusinessProfileWithProperties;
    };
    mutations: {
        removeProfiles: import("./Store").StoreMutation<(...profileIds: Array<string>) => void, (...args: string[]) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        addOrUpdateProfiles: import("./Store").StoreMutation<(profiles: Array<BusinessProfile>) => void, (profiles: BusinessProfile[]) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        addOrUpdateProfilesWithProperties: import("./Store").StoreMutation<(profilesWithProperties: Array<BusinessProfileWithProperties>) => void, (profilesWithProperties: BusinessProfileWithProperties[]) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
    };
    actions: {
        createProfile: import("./Store").StoreAction<unknown, (profileName: MultilingualString) => void, (result: BusinessProfile, profileName: MultilingualString) => void, (failureReason: any, profileName: MultilingualString) => void, (profileName: MultilingualString) => Promise<BusinessProfile>>;
        updateProfile: import("./Store").StoreAction<unknown, (profileId: string, name: MultilingualString) => void, (result: void, profileId: string, name: MultilingualString) => void, (failureReason: any, profileId: string, name: MultilingualString) => void, (profileId: string, name: MultilingualString) => Promise<void>>;
        deleteProfile: import("./Store").StoreAction<unknown, (profileId: string) => void, (result: void, profileId: string) => void, (failureReason: any, profileId: string) => void, (profileId: string) => Promise<void>>;
        ensureAllProfiles: import("./Store").StoreAction<unknown, (forceRefresh?: boolean) => void, (result: void, forceRefresh?: boolean) => void, (failureReason: any, forceRefresh?: boolean) => void, (forceRefresh?: boolean) => Promise<void>>;
        ensureProfile: import("./Store").StoreAction<unknown, (profileId: string, forceRefresh?: boolean) => void, (result: void, profileId: string, forceRefresh?: boolean) => void, (failureReason: any, profileId: string, forceRefresh?: boolean) => void, (profileId: string, forceRefresh?: boolean) => Promise<void>>;
        ensureProfileWithProperties: import("./Store").StoreAction<unknown, (profileId: string, forceRefresh?: boolean) => void, (result: void, profileId: string, forceRefresh?: boolean) => void, (failureReason: any, profileId: string, forceRefresh?: boolean) => void, (profileId: string, forceRefresh?: boolean) => Promise<void>>;
    };
    private publishBusinessProfileUpdateIfNeeded;
}
