import { BlockerFacade } from '../../Blocker'; import { EventDispatcher } from '../../helpers'; import { JSONSearchParamsParser } from '../../SearchParamsParser'; import { type IRouterProvider, type Location, type ParsedSearchParams, type RawSearchParams, type SyncStateSubscriber } from '../../types'; export type ProviderMockParams = { initialLocation?: Location; initialSearchParams?: ParsedSearchParams; autoInit?: boolean; }; export declare class ProviderMock implements IRouterProvider { readonly initialLocation: IRouterProvider['initialLocation']; readonly syncStateEventEmitter: EventDispatcher; readonly matchPath: IRouterProvider['matchPath']; reload: IRouterProvider['reload']; readonly blockerFacade: BlockerFacade; routerState: { location: Location; }; isInit: boolean; private readonly autoInit; /** * Последнее местоположение. Необходимо для реализации метода back. */ private prevLocation?; private currentLocation; private startSubscribeHandlers; private endSubscribeHandlers; private readonly initEventEmitter; private readonly logger; /** * Счетчик навигаций для предотвращения race condition быстрых последовательных вызовов navigate */ private navigationRaceCounter; constructor(matchPath: IRouterProvider['matchPath'], params: ProviderMockParams); navigate: IRouterProvider['navigate']; navigateAsync: IRouterProvider['navigateAsync']; setSearchParams: (searchParams: RawSearchParams) => void; back: IRouterProvider['back']; subscribeRouteChangeEnd: IRouterProvider['subscribeRouteChangeEnd']; subscribeRouteChangeStart: IRouterProvider['subscribeRouteChangeStart']; setLogLevel: IRouterProvider['setLogLevel']; triggerInitMobxRouter: IRouterProvider['triggerInitMobxRouter']; subscribeInitialize: IRouterProvider['subscribeInitialize']; init: () => void; private getInitialLocation; private unsubscribeRouteChangeEnd; private unsubscribeRouteChangeStart; private createLocation; private emulateNavigate; } export declare const createProviderMock: (params?: { overrides?: Partial; } & ProviderMockParams) => { initialLocation: IRouterProvider["initialLocation"]; syncStateEventEmitter: EventDispatcher; matchPath: IRouterProvider["matchPath"]; reload: IRouterProvider["reload"]; blockerFacade: BlockerFacade; routerState: { location: Location; }; isInit: boolean; navigate: IRouterProvider["navigate"]; navigateAsync: IRouterProvider["navigateAsync"]; setSearchParams: (searchParams: RawSearchParams) => void; back: IRouterProvider["back"]; subscribeRouteChangeEnd: IRouterProvider["subscribeRouteChangeEnd"]; subscribeRouteChangeStart: IRouterProvider["subscribeRouteChangeStart"]; setLogLevel: IRouterProvider["setLogLevel"]; triggerInitMobxRouter: IRouterProvider["triggerInitMobxRouter"]; subscribeInitialize: IRouterProvider["subscribeInitialize"]; init: () => void; };