import Queue from './queue'; import { RequestStream } from './requestStream'; import { ActiveVisit, ClientSideVisitOptions, Component, FlashData, GlobalEvent, GlobalEventNames, GlobalEventResult, InFlightPrefetch, OptimisticCallback, Page, PageFlashData, PendingVisit, PollOptions, PrefetchedResponse, PrefetchOptions, ReloadOptions, RequestPayload, RouterInitParams, UrlMethodPair, VisitCallbacks, VisitHelperOptions, VisitOptions } from './types'; export declare class Router { protected syncRequestStream: RequestStream; protected asyncRequestStream: RequestStream; protected clientVisitQueue: Queue>; protected pendingOptimisticCallback: OptimisticCallback | undefined; init({ initialPage, resolveComponent, swapComponent, onFlash, }: RouterInitParams): void; optimistic(callback: OptimisticCallback): this; get(url: URL | string | UrlMethodPair, data?: T, options?: VisitHelperOptions): void; post(url: URL | string | UrlMethodPair, data?: T, options?: VisitHelperOptions): void; put(url: URL | string | UrlMethodPair, data?: T, options?: VisitHelperOptions): void; patch(url: URL | string | UrlMethodPair, data?: T, options?: VisitHelperOptions): void; delete(url: URL | string | UrlMethodPair, options?: Omit, 'method'>): void; reload(options?: ReloadOptions): void; protected doReload(options?: ReloadOptions & { deferredProps?: boolean; }): void; remember(data: unknown, key?: string): void; restore(key?: string): T | undefined; on(type: TEventName, callback: (event: GlobalEvent) => GlobalEventResult): VoidFunction; hasPendingOptimistic(): boolean; cancelAll({ async, prefetch, sync }?: { async?: boolean | undefined; prefetch?: boolean | undefined; sync?: boolean | undefined; }): void; poll(interval: number, requestOptions?: ReloadOptions, options?: PollOptions): { stop: VoidFunction; start: VoidFunction; }; visit(href: string | URL | UrlMethodPair, options?: VisitOptions): void; getCached(href: string | URL | UrlMethodPair, options?: VisitOptions): InFlightPrefetch | PrefetchedResponse | null; flush(href: string | URL | UrlMethodPair, options?: VisitOptions): void; flushAll(): void; flushByCacheTags(tags: string | string[]): void; getPrefetching(href: string | URL | UrlMethodPair, options?: VisitOptions): InFlightPrefetch | PrefetchedResponse | null; prefetch(href: string | URL | UrlMethodPair, options?: VisitOptions, prefetchOptions?: Partial): void; clearHistory(): void; decryptHistory(): Promise; resolveComponent(component: string, page?: Page): Promise; replace(params: ClientSideVisitOptions): void; replaceProp(name: string, value: unknown | ((oldValue: unknown, props: TProps) => unknown), options?: Pick): void; appendToProp(name: string, value: unknown | unknown[] | ((oldValue: unknown, props: TProps) => unknown | unknown[]), options?: Pick): void; prependToProp(name: string, value: unknown | unknown[] | ((oldValue: unknown, props: TProps) => unknown | unknown[]), options?: Pick): void; push(params: ClientSideVisitOptions): void; flash(keyOrData: string | ((flash: FlashData) => TFlash) | TFlash, value?: unknown): void; protected clientVisit(params: ClientSideVisitOptions, { replace }?: { replace?: boolean; }): void; protected performClientVisit(params: ClientSideVisitOptions, { replace }?: { replace?: boolean; }): Promise; protected performInstantSwap(visit: PendingVisit): Promise; protected getPrefetchParams(href: string | URL | UrlMethodPair, options: VisitOptions): ActiveVisit; protected getPendingVisit(href: string | URL | UrlMethodPair, options: VisitOptions): PendingVisit; protected getVisitEvents(options: VisitOptions): VisitCallbacks; protected applyOptimisticUpdate(optimistic: OptimisticCallback, events: VisitCallbacks): void; protected loadDeferredProps(deferred: Page['deferredProps']): void; }