import { AiSettings } from "../models";
import { GuidValue } from "../shared";
import { Store } from "./Store";
export declare class AiSettingsStore extends Store {
    private settings;
    private readonly tenantKey;
    private currentSetting;
    private aiSettingService;
    constructor();
    onActivated(): void;
    onDisposing(): void;
    private generateSettingKey;
    /**
    * Implementation of getters
    */
    getters: {
        getSettingsByType: (type: string, businessProfileId?: GuidValue) => AiSettings[];
        currentEditing: () => AiSettings;
    };
    /**
     * Implementation of mutations
     */
    mutations: {
        settingsByType: import("./Store").StoreMutation<(newState: Array<AiSettings>, type: string, businessProfileId?: GuidValue) => void, (newState: AiSettings[], type: string, businessProfileId?: GuidValue) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        currentEditing: import("./Store").StoreMutation<(newState: AiSettings) => void, (newState: AiSettings) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
    };
    /**
     * Implementation of actions
     */
    actions: {
        loadSettingsByType: import("./Store").StoreAction<unknown, (type: string, businessProfileId?: GuidValue) => void, (result: AiSettings[], type: string, businessProfileId?: GuidValue) => void, (failureReason: any, type: string, businessProfileId?: GuidValue) => void, (type: string, businessProfileId?: GuidValue) => Promise<AiSettings[]>>;
        updateSetting: import("./Store").StoreAction<unknown, (model: AiSettings) => void, (result: AiSettings, model: AiSettings) => void, (failureReason: any, model: AiSettings) => void, (model: AiSettings) => Promise<AiSettings>>;
        addSetting: import("./Store").StoreAction<unknown, (model: AiSettings) => void, (result: AiSettings, model: AiSettings) => void, (failureReason: any, model: AiSettings) => void, (model: AiSettings) => Promise<AiSettings>>;
        removeSetting: import("./Store").StoreAction<unknown, (id: number) => void, (result: void, id: number) => void, (failureReason: any, id: number) => void, (id: number) => Promise<void>>;
    };
}
