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 { } 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 {};