import type { Snippet } from 'svelte';
import type { HTMLAttributes } from 'svelte/elements';
import type { TooltipOptions } from './attachments';
import type { NavRoute, NavRouteObject } from './types';
interface ItemSnippetParams {
    route: NavRouteObject;
    href: string;
    label: string;
    is_active: boolean;
    is_dropdown: boolean;
    render_default: Snippet;
}
type $$ComponentProps = {
    routes: NavRoute[];
    children?: Snippet<[{
        is_open: boolean;
        panel_id: string;
        routes: NavRoute[];
    }]>;
    item?: Snippet<[ItemSnippetParams]>;
    link?: Snippet<[{
        href: string;
        label: string;
        isActive: boolean;
    }]>;
    menu_props?: HTMLAttributes<HTMLDivElement>;
    link_props?: HTMLAttributes<HTMLAnchorElement>;
    page?: {
        url: {
            pathname: string;
        };
    };
    labels?: Record<string, string>;
    tooltips?: Record<string, string | Omit<TooltipOptions, `disabled`>>;
    tooltip_options?: Omit<TooltipOptions, `content`>;
    breakpoint?: number;
    dropdown_cooldown?: number;
    onnavigate?: (data: {
        href: string;
        event: MouseEvent;
        route: NavRouteObject;
    }) => false | undefined;
    onopen?: () => void;
    onclose?: () => void;
} & Omit<HTMLAttributes<HTMLElementTagNameMap[`nav`]>, `children`>;
declare const Nav: import("svelte").Component<$$ComponentProps, {}, "">;
type Nav = ReturnType<typeof Nav>;
export default Nav;
