73 lines
2.5 KiB
TypeScript
73 lines
2.5 KiB
TypeScript
import type { FocusAndScrollRef, PrefetchKind } from '../../client/components/router-reducer/router-reducer-types';
|
|
import type { Params } from '../../server/request/params';
|
|
import type { FlightRouterState, FlightSegmentPath, CacheNode, LoadingModuleData } from './app-router-types';
|
|
import React from 'react';
|
|
export interface NavigateOptions {
|
|
scroll?: boolean;
|
|
/**
|
|
* Transition types to apply when navigating. These types are passed to
|
|
* [`React.addTransitionType`](https://react.dev/reference/react/addTransitionType)
|
|
* inside the navigation transition, enabling
|
|
* [`<ViewTransition>`](https://react.dev/reference/react/ViewTransition) components
|
|
* to apply different animations based on the type of navigation.
|
|
*/
|
|
transitionTypes?: string[];
|
|
}
|
|
export interface PrefetchOptions {
|
|
kind: PrefetchKind;
|
|
onInvalidate?: () => void;
|
|
}
|
|
export interface AppRouterInstance {
|
|
/**
|
|
* Navigate to the previous history entry.
|
|
*/
|
|
back(): void;
|
|
/**
|
|
* Navigate to the next history entry.
|
|
*/
|
|
forward(): void;
|
|
/**
|
|
* Refresh the current page.
|
|
*/
|
|
refresh(): void;
|
|
/**
|
|
* Navigate to the provided href.
|
|
* Pushes a new history entry.
|
|
*/
|
|
push(href: string, options?: NavigateOptions): void;
|
|
/**
|
|
* Navigate to the provided href.
|
|
* Replaces the current history entry.
|
|
*/
|
|
replace(href: string, options?: NavigateOptions): void;
|
|
/**
|
|
* Prefetch the provided href.
|
|
*/
|
|
prefetch(href: string, options?: PrefetchOptions): void;
|
|
/**
|
|
* Perform a gesture navigation using prefetched data.
|
|
* Only available when experimental.gestureTransition is enabled.
|
|
* @experimental
|
|
*/
|
|
experimental_gesturePush?(href: string, options?: NavigateOptions): void;
|
|
}
|
|
export declare const AppRouterContext: React.Context<AppRouterInstance | null>;
|
|
export declare const LayoutRouterContext: React.Context<{
|
|
parentTree: FlightRouterState;
|
|
parentCacheNode: CacheNode;
|
|
parentSegmentPath: FlightSegmentPath | null;
|
|
parentParams: Params;
|
|
parentLoadingData: LoadingModuleData | null;
|
|
debugNameContext: string;
|
|
url: string;
|
|
isActive: boolean;
|
|
} | null>;
|
|
export declare const GlobalLayoutRouterContext: React.Context<{
|
|
tree: FlightRouterState;
|
|
focusAndScrollRef: FocusAndScrollRef;
|
|
nextUrl: string | null;
|
|
previousNextUrl: string | null;
|
|
}>;
|
|
export declare const TemplateContext: React.Context<React.ReactNode>;
|
|
export declare const MissingSlotContext: React.Context<Set<string>>;
|