/**
 * Framework Adapters for Router
 * Universal router integration with React, Svelte, Vue, etc.
 */
import { Route, RouteTree } from './types';
/**
 * React Router Adapter
 */
export declare const useReactRouter: <A>(routes: Route<A>[]) => {
    route: import("./types").Option<Route<A>>;
    params: A;
    navigate: (to: string) => void;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
    replace: (to: string) => import("..").Effect<void>;
};
/**
 * React Tree Router Adapter
 */
export declare const useReactTreeRouter: <A>(tree: RouteTree<A>) => {
    route: import("./types").Option<Route<A>>;
    params: A;
    navigate: (to: string) => import("..").Effect<void>;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
    replace: (to: string) => import("..").Effect<void>;
};
/**
 * Svelte Router Adapter
 */
export declare const useSvelteRouter: <A>(routes: Route<A>[]) => {
    route: import("..").Signal<import("./types").Option<Route<A>>>;
    params: import("..").Signal<A>;
    navigate: (to: string) => import("..").Effect<void>;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
    replace: (to: string) => import("..").Effect<void>;
};
/**
 * Vue Router Adapter
 */
export declare const useVueRouter: <A>(routes: Route<A>[]) => {
    route: any;
    params: any;
    navigate: (to: string) => import("..").Effect<void>;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
    replace: (to: string) => import("..").Effect<void>;
};
/**
 * SolidJS Router Adapter
 */
export declare const useSolidRouter: <A>(routes: Route<A>[]) => {
    route: any;
    params: any;
    navigate: (to: string) => import("..").Effect<void>;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
    replace: (to: string) => import("..").Effect<void>;
};
/**
 * Universal Router Hook
 * Automatically detects framework and returns appropriate adapter
 */
export declare const useRouter: <A>(routes: Route<A>[]) => {
    route: import("./types").Option<Route<A>>;
    params: A;
    navigate: (to: string) => void;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
    replace: (to: string) => import("..").Effect<void>;
} | {
    route: any;
    params: any;
    navigate: (to: string) => import("..").Effect<void>;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
    replace: (to: string) => import("..").Effect<void>;
} | {
    route: {
        tag: "None";
    };
    params: any;
    navigate: (_to: string) => void;
    back: () => void;
    forward: () => void;
    replace: (_to: string) => void;
};
/**
 * Server-Side Rendering Adapter
 */
export declare const createSSRRouter: <A>(routes: Route<A>[], initialPath: string) => {
    getRoute: () => import("./types").Option<Route<A>>;
    getParams: () => A;
    setPath: (path: string) => void;
    render: () => {
        route: import("./types").Option<Route<A>>;
        params: A;
        path: string;
    };
};
/**
 * Testing Adapter
 */
export declare const createTestRouter: <A>(routes: Route<A>[], initialPath?: string) => {
    router: import("./types").RouterSignal<A>;
    navigate: (to: string) => import("..").Effect<void>;
    getPath: () => any;
    setPath: (path: string) => any;
    back: () => import("..").Effect<void>;
    forward: () => import("..").Effect<void>;
};
