import { type Readable, type Writable } from 'svelte/store';
import type { MatchedRoute, Routes, RoutesImpl, ResolvedRouteComponent, RouteDefinition, ErroneousRouteStore, ResolvedRouteStore } from "./types";
export declare class Config {
    static routes: RoutesImpl;
    static currentPath: string;
    static isInitialized: boolean;
}
export declare function resolveRoute(segments: string[], routes: Routes): {
    matched: MatchedRoute | null;
    remaining: string[];
};
export declare function initRouter(parentRoute: string | undefined, routes: Routes): void;
export declare function createRouteResolver(resolveStore: Readable<ResolvedRouteStore | null>, routes: Routes, unresolvedStore?: Writable<ResolvedRouteStore | null>): Readable<ResolvedRouteComponent>;
export declare function createErrorHandler(errorStore: Readable<ErroneousRouteStore>, fallback?: RouteDefinition): Readable<ResolvedRouteComponent>;
export declare function navigate(path: string, state?: any): void;
