@furystack/shades
Version:
Google Authentication Provider for FuryStack
26 lines • 1.01 kB
TypeScript
import type { MatchOptions, MatchResult } from 'path-to-regexp';
import type { RenderOptions } from '../models/render-options.js';
export interface Route<TMatchResult = unknown> {
url: string;
component: (options: {
currentUrl: string;
match: MatchResult<TMatchResult extends object ? TMatchResult : object>;
}) => JSX.Element;
routingOptions?: MatchOptions;
onVisit?: (options: RenderOptions<unknown>) => Promise<void>;
onLeave?: (options: RenderOptions<unknown>) => Promise<void>;
}
export interface RouterProps {
style?: CSSStyleDeclaration;
routes: Array<Route<any>>;
notFound?: JSX.Element;
}
export interface RouterState {
activeRoute?: Route<any> | null;
activeRouteParams?: any;
jsx: JSX.Element;
}
export declare const Router: (props: RouterProps & Omit<Partial<HTMLElement>, "style"> & {
style?: Partial<CSSStyleDeclaration>;
}, children?: import("../index.js").ChildrenList) => JSX.Element;
//# sourceMappingURL=router.d.ts.map