import { AccessibilityProps, KeyboardHandlerMap, TokenContract } from '../shared/index.js';

interface MobileNavProps {
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    id?: string;
}
interface MobileNavState {
    open: boolean;
}
interface MobileNavAPI {
    /** Current state */
    state: MobileNavState;
    /** ARIA and interaction props for the trigger button */
    triggerProps: Partial<AccessibilityProps> & Record<string, string | boolean | undefined>;
    /** ARIA and data attributes for the content panel */
    contentProps: Partial<AccessibilityProps> & Record<string, string | boolean | undefined>;
    /** Toggle open state */
    toggle: () => void;
    /** Open the nav */
    open: () => void;
    /** Close the nav */
    close: () => void;
    /** Keyboard handlers (Escape closes) */
    keyboardHandlers: KeyboardHandlerMap;
}
declare function createMobileNav(props?: MobileNavProps): MobileNavAPI;

declare const mobileNavTokens: TokenContract;
declare const mobileNavVariants: (props?: ({} & {
    className?: string;
}) | undefined) => string;
declare const mobileNavContentVariants: (props?: ({
    state?: "open" | "closed" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const mobileNavTriggerVariants: (props?: ({} & {
    className?: string;
}) | undefined) => string;
declare const mobileNavLinkVariants: (props?: ({} & {
    className?: string;
}) | undefined) => string;

export { type MobileNavAPI, type MobileNavProps, type MobileNavState, createMobileNav, mobileNavContentVariants, mobileNavLinkVariants, mobileNavTokens, mobileNavTriggerVariants, mobileNavVariants };
