export declare type Segment = { name: string; type: 'dir' | 'param'; }; export declare type Transform = { toState: (value: string) => T; toPath: (value: T) => string; }; export declare type Route = { raw: string; segments: Segment[]; transform?: { [key: string]: Transform; }; }; export declare type RouteChildren = Node[] | ((state: Record) => Node[]); export declare type Node = { route: Route; scope?: string; transform?: { [key: string]: Transform; }; children: RouteChildren; }; export declare type Router = Node & { _isRoute: boolean; encode: (state: Record) => string; decode: (path: string) => Record | null; isNotFound: (path: string) => boolean; getBasePath: () => string; getRedirectBase: (pathname: string) => string | null; isRoot: (path: string) => boolean; }; export declare type MatchResult = { nodes: Node[]; missing: string[]; remaining: string[]; }; //# sourceMappingURL=types.d.ts.map