import type { Awaitable } from '@daysnap/types';
declare module '../codelet' {
    interface Codelet {
        useRouter: boolean;
        navigateTo(to: Location): Promise<void>;
        redirectTo(to: Location): Promise<void>;
        reLaunch(to: Location): Promise<void>;
        switchTab(to: Location): Promise<void>;
    }
}
export type RouteLocation = {
    url: string;
    query?: Record<string, any>;
};
export type Location = string | RouteLocation;
export interface RouteNext {
    (): void;
}
export interface RouterOptions {
    beforeEach?: (to: RouteLocation, from: RouteLocation, next: RouteNext) => Awaitable<void>;
    afterEach?: (to: RouteLocation, from: RouteLocation) => Awaitable<void>;
}
export declare const router: (col: import("../codelet").Codelet, options?: RouterOptions) => void;
