import BaseFluxel from "../jsx-reactive/index.js";
import { globalNavigate } from "../baseRouter/index.js";
import { type LinkProps } from "../baseRouter/Link.js";
import type { Router as BaseRouter, RouteConfig, RouterOptions, UseRouter } from "../baseRouter/router.js";
import type { FluxelComponent, FluxelJSXElement } from "../type.js";
declare const Fluxel: typeof BaseFluxel & {
    createRouter: typeof createRouter;
    useRouter: typeof useRouter;
    globalNavigate: typeof globalNavigate;
    Link: typeof Link;
};
export type Router = Omit<BaseRouter, "Provider"> & {
    Provider: FluxelComponent<{
        classList?: string[];
    }, FluxelJSXElement>;
};
declare const createRouter: (config: RouteConfig, options?: RouterOptions) => Router;
declare const useRouter: UseRouter<Router>;
declare const Link: FluxelComponent<LinkProps, FluxelJSXElement>;
export { createRouter, useRouter, globalNavigate, Link };
export default Fluxel;
