import type { Essentials } from '@wix/fe-essentials/core';
import type { Trans, useTranslation } from '@wix/fe-essentials/react';
import { Environment, EnvironmentBi, ErrorMonitor, FocusManager, History, ModalLayoutProps, OnlineManager, PartialLodash, PartialWindow, ReportBI, Translate, WixPatternsMonitor } from '../services';
import { QueryCache } from 'react-query/core';
import { CloseSidePanel, ContextType, GetHostContainer, OnNavigation, OnSidePanelOpen, PatternsErrorHandler, ShowToast, WixPatternsEssentials, WixPatternsInitialProps } from '../model';
import { IObservableArray } from 'mobx';
import { TaskState } from './TaskState';
import { OnlineState } from './OnlineState';
import { OptimisticPatch } from './CollectionOptimisticPatch';
import { ConditionalModalState } from './ConditionalModalState';
import { TypedEmitter } from '../util';
import { TransitionState } from './TransitionState';
import { ReactElement } from 'react';
import { PatternsLayoutType } from '../model/PatternsLayoutType';
type WixPatternsContainerEvents = TypedEmitter<{
    navigation: () => ModalLayoutProps | null | undefined;
}>;
export interface WixPatternsContainerParams {
    readonly initialProps?: WixPatternsInitialProps;
    readonly createEssentials: WixPatternsEssentials['createEssentials'];
    readonly biLogger?: WixPatternsEssentials['biLogger'];
    readonly messagesEnImport?: () => Promise<{}>;
    readonly fetchTranslations?: (p: {
        readonly errorMonitor: ErrorMonitor;
    }) => (locale: string) => Promise<{}>;
    readonly createComponentSettings?: WixPatternsEssentials['createComponentSettings'];
    readonly errorMonitor: ErrorMonitor;
    readonly httpClient: WixPatternsEssentials['httpClient'];
    readonly onlineManager: OnlineManager;
    readonly focusManager: FocusManager;
    readonly contextType?: ContextType;
    readonly history: History;
    readonly window: PartialWindow;
    readonly useTranslation: typeof useTranslation;
    readonly Trans: typeof Trans;
    readonly useExperiments: WixPatternsEssentials['useExperiments'];
    readonly experiments: WixPatternsEssentials['experiments'];
    readonly environment: WixPatternsEssentials['environment'];
    readonly environmentBI: WixPatternsEssentials['environmentBI'];
    readonly errorHandler?: WixPatternsEssentials['errorHandler'];
    readonly user: WixPatternsEssentials['user'];
    readonly showToast?: ShowToast;
    readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];
    readonly navigateTo?: WixPatternsEssentials['navigateTo'];
    readonly onNavigation?: OnNavigation;
    readonly getHostContainer?: GetHostContainer;
    readonly queryCache: QueryCache;
    readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;
    readonly onSidePanelOpen?: OnSidePanelOpen;
    readonly closeSidePanel?: CloseSidePanel;
    readonly lodash: PartialLodash;
    readonly events?: WixPatternsContainerEvents;
    readonly sidePanel?: TransitionState<string>;
    readonly onNavigationModal?: ConditionalModalState<ModalLayoutProps>;
    readonly sidePanelComponents?: Map<string, ReactElement>;
    readonly appendModalsToBody?: boolean;
    readonly layoutType?: PatternsLayoutType;
    readonly useRelativeSidePanel?: boolean;
    readonly onBeforeUnload?: WixPatternsEssentials['onBeforeUnload'];
    readonly onLayerStateChange?: WixPatternsEssentials['onLayerStateChange'];
    readonly openMediaManager?: WixPatternsEssentials['openMediaManager'];
}
export declare class WixPatternsContainer {
    readonly createEssentials: (options: import("@wix/fe-essentials/core").EssentialsOptions) => {
        i18n: import("i18next").i18n;
        dataCapsule: import("@wix/data-capsule").IDataCapsule<import("@wix/data-capsule").BaseStorageOptions & Record<string, any>>;
        biLoggerFactory?: (() => import("../model").CairoBILoggerFactory) | undefined;
        errorMonitor: ErrorMonitor;
        fedopsLogger?: import("../services").MonitorLogger | undefined;
        experiments?: import("../services").Experiments | undefined;
    };
    readonly errorMonitor: WixPatternsContainerParams['errorMonitor'];
    readonly errorHandler: PatternsErrorHandler;
    readonly internalMonitor: WixPatternsMonitor;
    readonly internalExperiments: import("../services").Experiments | undefined;
    readonly experiments: WixPatternsContainerParams['experiments'];
    readonly httpClient: WixPatternsContainerParams['httpClient'];
    readonly onlineManager: OnlineManager;
    readonly focusManager: FocusManager;
    readonly contextType: ContextType;
    readonly history: WixPatternsContainerParams['history'];
    readonly window: WixPatternsContainerParams['window'];
    readonly useTranslation: typeof useTranslation;
    readonly Trans: typeof Trans;
    readonly useExperiments: () => {
        ready: boolean;
        experiments: {
            enabled: (key: string) => boolean;
        };
    };
    readonly showToast?: ShowToast | undefined;
    readonly usePageLocation?: (() => import("../model").PageLocation | undefined) | undefined;
    readonly navigateTo?: import("../model").NavigateToFunc | undefined;
    readonly onNavigation: OnNavigation | undefined;
    readonly onBeforeUnload: import("../model").OnBeforeUnload | undefined;
    readonly onLayerStateChange?: WixPatternsEssentials['onLayerStateChange'];
    readonly openMediaManager?: WixPatternsEssentials['openMediaManager'];
    readonly getHostContainer: GetHostContainer | undefined;
    readonly environment: Environment;
    readonly environmentBI: EnvironmentBi;
    readonly appendModalsToBody?: boolean;
    readonly layoutType?: string;
    readonly _useRelativeSidePanel?: boolean;
    readonly onSidePanelOpen?: OnSidePanelOpen;
    readonly closeSidePanel?: CloseSidePanel;
    readonly translate: Translate;
    readonly lodash: PartialLodash;
    readonly i18n: Essentials['i18n'];
    readonly reportBi: ReportBI;
    readonly _messagesEnImport: () => Promise<import("@wix/wix-i18n-config").Messages>;
    readonly _fetchTranslations: ({ errorMonitor }: {
        readonly errorMonitor: ErrorMonitor;
    }) => (locale: string, { messagesEn }?: {
        messagesEn?: import("@wix/wix-i18n-config").Messages | undefined;
    }) => Promise<import("@wix/wix-i18n-config").Messages>;
    queryCache: QueryCache;
    readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;
    readonly initTask: TaskState<void>;
    readonly onlineState: OnlineState;
    readonly onNavigationModal: ConditionalModalState<ModalLayoutProps>;
    readonly events: TypedEmitter<{
        navigation: () => ModalLayoutProps | null | undefined;
    }>;
    readonly user: {
        id?: string | undefined;
        permissions: string[];
    };
    readonly cairoSessionId: string;
    readonly biLogger: import("../model").BiLogger | undefined;
    readonly createComponentSettings: import("../model").CreateComponentSettings;
    readonly enableTranslatedKeySuffix: boolean;
    private _isAutoPatterns;
    constructor(params: Readonly<WixPatternsContainerParams>);
    setIsAutoPatterns(value: boolean): void;
    _createComponentSettings(options: {
        namespace: string;
    }): import("../model").DataCapsule;
    createBILogger: <P>(defaultParams: P) => ReportBI;
    initialFetch(): Promise<void | undefined>;
    get dateFormatters(): {
        medium: Intl.DateTimeFormat;
        mediumTime: Intl.DateTimeFormat;
        time: Intl.DateTimeFormat;
    };
    get isPanelLayout(): boolean;
    get useRelativeSidePanel(): boolean | undefined;
    init(): () => void;
}
export {};
//# sourceMappingURL=WixPatternsContainer.d.ts.map