import { BlockDialogLayoutInfo, BlockGalleryDialogLayoutSetting, BlockGalleryGeneralSetting, BlockGalleryHeader, BlockGalleryItem, BlockGalleryItemView, BlockTemplate, MultilingualString } from "@omnia/fx-models";
import { LocalizationService, SettingsService } from "@omnia/fx/services";
import { MultilingualStore, Store } from "@omnia/fx/stores";
import { OmniaUxLocalization } from "../../UxModels";
import { BlockCatalogStore } from "../../layoutcanvas";
import * as _ from "lodash";
export { _ };
export declare class BlockGalleryStore extends Store {
    blockCatalogStore: BlockCatalogStore;
    multilingualStore: MultilingualStore;
    settingsService: SettingsService<any>;
    localizationService: LocalizationService;
    uxLoc: OmniaUxLocalization;
    private blockTemplateService;
    private omniaBlocks;
    private ensureInitAdminView;
    private ensureInitRenderView;
    private blockGalleryDialogLayoutSetting;
    private blockTemplateViews;
    private blockTemplateIdPrefix;
    private allBlocks;
    private blockGalleryFactory;
    private hasPendingChanges;
    private editingHeaderId;
    private selectingTemplateId;
    private isBlockDialogInAlterMode;
    private editingDialogLayoutType;
    private generalSetting;
    private spfxBlocks;
    private initSpfxDictionary;
    private layoutBlockSettingForRender;
    private dialogLayouts;
    private registeredDialogLayoutProviders;
    protected onActivated(): Promise<void>;
    getters: {
        blocks: () => {
            [id: string]: BlockGalleryItemView;
        };
        availableBlocksToAdd: () => {
            [id: string]: BlockGalleryItemView;
        };
        header: (headerId: string) => BlockGalleryHeader;
        blockGalleryLayoutSetting: (layoutType: string) => BlockGalleryDialogLayoutSetting;
        orderedItems: () => BlockGalleryItem[];
        orderedItemTitle: (blockId: string) => string;
        editingHeaderId: () => string;
        editingTemplateId: () => number;
        isBlockDialogInAlterMode: () => boolean;
        editingDialogLayoutType: () => string;
        dialogLayouts: () => BlockDialogLayoutInfo[];
        getDialogLayoutType: (layoutProvider: string) => string;
    };
    private isCompatibleWithAuthenticationLayoutOnly;
    private isBlockValidForLayout;
    mutations: {
        addSelectedBlocks: import("@omnia/fx/stores").StoreMutation<(selectedBlockIds: Array<string>) => void, (selectedBlockIds: string[]) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        removeSelectedBlock: import("@omnia/fx/stores").StoreMutation<(blockId: string) => void, (blockId: string) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        removeHeader: import("@omnia/fx/stores").StoreMutation<(id: string) => void, (id: string) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        addNewHeader: import("@omnia/fx/stores").StoreMutation<(headerTitle: MultilingualString) => void, (headerTitle: MultilingualString) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        editHeader: import("@omnia/fx/stores").StoreMutation<(header: BlockGalleryHeader) => void, (header: BlockGalleryHeader) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        signalChanges: import("@omnia/fx/stores").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        resetChanges: import("@omnia/fx/stores").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        updateOrganizedBlocks: import("@omnia/fx/stores").StoreMutation<(organizedBlocks: BlockGalleryItem[]) => void, (organizedBlocks: BlockGalleryItem[]) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        switchToAddHeaderMode: import("@omnia/fx/stores").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        switchToEditHeaderMode: import("@omnia/fx/stores").StoreMutation<(headerId: string) => void, (headerId: string) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        switchToTemplateEditMode: import("@omnia/fx/stores").StoreMutation<(templateId: number) => void, (templateId: number) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        switchToTemplateAddMode: import("@omnia/fx/stores").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        switchBlockDialogToAlterMode: import("@omnia/fx/stores").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        switchOffBlockDialogAlterMode: import("@omnia/fx/stores").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        setEditingDialogLayout: import("@omnia/fx/stores").StoreMutation<(dialogLayoutType: string) => void, (dialogLayoutType: string) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
    };
    actions: {
        ensureLoadAllBlocksForAdminView: import("@omnia/fx/stores").StoreAction<unknown, (forceReload?: boolean) => void, (result: void, forceReload?: boolean) => void, (failureReason: any, forceReload?: boolean) => void, (forceReload?: boolean) => Promise<void>>;
        ensureLoadAllBlocksForRender: import("@omnia/fx/stores").StoreAction<unknown, (layoutType: string) => void, (result: void, layoutType: string) => void, (failureReason: any, layoutType: string) => void, (layoutType: string) => Promise<void>>;
        updateBlockDialogSettings: import("@omnia/fx/stores").StoreAction<unknown, () => void, (result: void) => void, (failureReason: any) => void, () => Promise<void>>;
        addOrUpdateBlockTemplate: import("@omnia/fx/stores").StoreAction<unknown, (blockTemplate: BlockTemplate, isEdit: boolean) => void, (result: void, blockTemplate: BlockTemplate, isEdit: boolean) => void, (failureReason: any, blockTemplate: BlockTemplate, isEdit: boolean) => void, (blockTemplate: BlockTemplate, isEdit: boolean) => Promise<void>>;
        removeBlockTemplate: import("@omnia/fx/stores").StoreAction<unknown, (blockTemplateId: number) => void, (result: boolean, blockTemplateId: number) => void, (failureReason: any, blockTemplateId: number) => void, (blockTemplateId: number) => Promise<boolean>>;
        ensureGeneralSetting: import("@omnia/fx/stores").StoreAction<unknown, () => void, (result: BlockGalleryGeneralSetting) => void, (failureReason: any) => void, () => Promise<BlockGalleryGeneralSetting>>;
    };
    private ensureOmniaBlocks;
    private loadBlockDialogSettings;
    private ensureDefaultBlocksIfDialogLayoutIsEmpty;
    private getIdOfLayoutItemRegistrationBlock;
    private insertDefaultHeader;
    private insertDefaultBlocks;
    private ensureSpfxBlockDictionary;
    private loadBlockTemplateViews;
    private getLayoutBlockSettingKey;
    private loadConfiguredBlockTemplates;
    private getBlockTemplateIdFromGalleryItem;
    private updateBlockDictionary;
    private updateBlockDictionaryItem;
    private getDialogLayoutProviders;
}
