/// <reference types="node" />
import { EventEmitter } from 'events';
import { QueryCache } from 'react-query/core';
import { History } from 'history';
import { StandaloneEssentialsTestOptions, TestContext } from '@wix/fe-essentials-standalone/testkit';
import { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';
import type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';
import { Essentials } from '@wix/fe-essentials/core';
import { DataCapsule, IDataCapsule } from '@wix/fe-essentials/data-capsule';
import { WixPatternsContainer } from '../state';
import { ErrorMonitor, PartialWindow, Translate } from '../services';
import { ContextType, GetHostContainer, OnBeforeUnload, OnLayerStateChange, OnNavigation, OpenMediaManager, ShowToast, WixPatternsEssentials } from '../model';
import { NavigationManager } from '../services/navigationManager';
export interface WixPatternsContainerDriverOverrides {
    readonly environment?: Partial<{
        language: string;
        uiLibVersion: string;
    }>;
    readonly user?: Partial<WixPatternsEssentials['user']>;
    readonly location?: Partial<{
        href: string;
    }>;
    readonly history?: Partial<{
        search: URLSearchParams;
    }>;
    readonly historyInstance?: History;
    readonly httpMocks?: AnyScenario[];
    readonly appSettingsCustomMocks?: AnyScenario[];
    readonly showToast?: ShowToast;
    readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];
    readonly navigateTo?: WixPatternsEssentials['navigateTo'];
    readonly asMobileView?: boolean;
    readonly dataCapsule?: Partial<{
        entries: Record<string, unknown>;
    }>;
    readonly contextType?: ContextType;
    readonly componentSettingsEntries?: Record<string, object>;
    readonly componentSettingsLocalStorage?: boolean;
    readonly onNavigation?: OnNavigation;
    readonly onBeforeUnload?: OnBeforeUnload;
    readonly onBeforeUnloadMissingInEnvironment?: boolean;
    readonly onLayerStateChange?: OnLayerStateChange;
    readonly openMediaManager?: OpenMediaManager;
    readonly experiments?: ExperimentsBag;
    readonly asyncExperiments?: () => Promise<ExperimentsBag>;
    readonly internalExperiments?: ExperimentsBag;
    readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {
        messagesEnImport?: () => Promise<{}>;
        fetchTranslations?: (p: {
            readonly errorMonitor: ErrorMonitor;
        }) => (language: string) => Promise<{}>;
    };
    readonly getHostContainer?: GetHostContainer;
    readonly fqdn?: string;
    readonly noErrorHandler?: boolean;
}
export declare class WixPatternsContainerDriver {
    readonly testContext: TestContext;
    readonly showToast: ShowToast;
    readonly usePageLocation: WixPatternsEssentials['usePageLocation'];
    readonly navigateTo: WixPatternsEssentials['navigateTo'];
    readonly onNavigation: OnNavigation;
    readonly onBeforeUnload?: OnBeforeUnload;
    readonly onLayerStateChange?: OnLayerStateChange;
    readonly onlineManager: {
        _events: EventEmitter<[never]>;
        _isOnline: boolean;
        setIsOnline(value: boolean): void;
        isOnline(): boolean;
        subscribe(listener?: () => unknown): () => void;
    };
    readonly focusManager: {
        _events: EventEmitter<[never]>;
        _isFocused: boolean;
        setIsFocused(value: boolean): void;
        isFocused(): boolean;
        subscribe(listener?: () => unknown): () => void;
    };
    readonly queryCache: QueryCache;
    readonly patchesCache: Map<any, any>;
    readonly window: PartialWindow;
    readonly navigationManager: NavigationManager;
    readonly history: History;
    readonly container: WixPatternsContainer;
    readonly dataCapsule: IDataCapsule[];
    readonly dataCapsuleInstances: Map<string, IDataCapsule<import("@wix/fe-essentials/data-capsule").BaseStorageOptions & Record<string, any>>>;
    get tableDataCapsule(): IDataCapsule<import("@wix/fe-essentials/data-capsule").BaseStorageOptions & Record<string, any>>;
    readonly componentSettingsInstances: Map<string, DataCapsule<import("@wix/fe-essentials/data-capsule").BaseStorageOptions & Record<string, any>>>;
    readonly exportServiceMocks: {
        mocks: AnyScenario[];
        be: import("../InMemoryBackend").InMemoryBackend<import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob, {}>;
        events: import("..").TypedEmitter<{
            jobCompleted: (job: import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob) => void | Partial<import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob>;
            beforeUpdateSignedUrl: (job: import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob) => Promise<Partial<import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob> | undefined>;
            beforeGetJob: (job: import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob | undefined) => void | Promise<void>;
            processing: (job: import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob) => void | Promise<void>;
            beforeCreateJob: (job: import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob) => void | Promise<void>;
            jobCreated: (job: import("@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl").ExportAsyncJob) => void | Promise<void>;
        }>;
    };
    constructor(overrides?: WixPatternsContainerDriverOverrides);
    get errorMonitor(): import("@wix/error-monitor").ErrorMonitor;
    get errorHandler(): import("../model").PatternsErrorHandler;
    get i18n(): Pick<Essentials['i18n'], 'init'> & {
        t: Translate;
    };
    get onlineState(): import("../state").OnlineState;
    get environment(): import("../services").Environment;
    get environmentBI(): import("../services").EnvironmentBi;
    get getHostContainer(): GetHostContainer | undefined;
    get biLoggerFactory(): (options?: (import("@wix/web-bi-logger/dist/src/types").FactoryOptions & {
        trackSession?: boolean | "force" | undefined;
    }) | undefined) => import("@wix/web-bi-logger/dist/src/logger").Factory;
    replaceHistory(searchParams: URLSearchParams): void;
}
//# sourceMappingURL=WixPatternsContainer.driver.d.ts.map