import type { WinSetTimeout, StringPluginArgChoices } from './types';
import { type BaseElem } from "base-elem-js";
interface INavDesktopCss {
    hasUL: string;
    noUl: string;
    elemEdge: string;
    hovered: string;
    leaving: string;
}
export interface INavDesktopDefaults {
    stopWidth: number;
    delay: number;
    outerElem: HTMLElement;
    cssPrefix: string;
    navLeavingDelay: number;
    hoverCss: string;
}
export interface INavDesktopOptions extends Partial<INavDesktopDefaults> {
}
export default class NavDesktop {
    #private;
    element: HTMLElement;
    params: INavDesktopDefaults;
    cssList: INavDesktopCss;
    stayHover: WinSetTimeout;
    navLeaving: WinSetTimeout;
    static defaults: INavDesktopDefaults;
    static version: string;
    static pluginName: string;
    constructor(element: HTMLElement, options: INavDesktopOptions | StringPluginArgChoices);
    static remove(element: BaseElem, plugin?: NavDesktop): void;
}
export interface NavDesktopPlugin {
    navDesktop(options?: INavDesktopOptions | StringPluginArgChoices): BaseElem;
}
declare module 'base-elem-js' {
    interface BaseElem extends NavDesktopPlugin {
    }
}
export {};
