declare function locate(el: Element | Event, attr?: string): HTMLElement; declare function locateAttr(el: Element | Event, attr?: string): string; declare function locateID(el: Element | Event, attr?: string): string | number; declare function getID(el: Element, attr?: string): string | number; declare function locateNode(el: Element, node: Element): boolean; declare function setID(id: string | number): string | number; type ActionReturn = void | { destroy: () => void; }; declare function uid(): number; type IHandlersHash = { [key: string]: CallableFunction; }; declare function delegateEvent(node: HTMLElement, handlers: IHandlersHash | CallableFunction, event: string): ActionReturn; declare function delegateClick(node: HTMLElement, handlers: IHandlersHash): ActionReturn; type OutsideListenerProps = { callback: CallableFunction; modal?: boolean; parent?: () => HTMLElement; }; declare function clickOutside(node: HTMLElement, props: CallableFunction | OutsideListenerProps): ActionReturn; type positionResult = { at: TPosition; x: number; y: number; z: number; width: string; }; type TPosition = "point" | "bottom" | "top" | "left" | "right" | "center" | "bottom-fit" | "top-fit" | "center-fit" | "bottom-right" | "bottom-left" | "bottom-start" | "bottom-center" | "bottom-end" | "top-right" | "top-left" | "top-start" | "top-center" | "top-end" | "left-start" | "left-center" | "left-end" | "right-start" | "right-center" | "right-end"; declare function calculatePosition(self: HTMLElement, parent: HTMLElement, at?: TPosition, left?: number, top?: number): positionResult; declare function getAbsParent(el: HTMLElement): HTMLElement | null; declare function getPopupParents(node: HTMLElement): HTMLElement[]; type Handler = (ev?: KeyboardEvent, keys?: { key: string; evKey: string; }) => void; declare class ScreenKeys { store: Map; node: Node; constructor(); configure(hotkeys: { [key: string]: Handler | false; }, node: Node): void; } declare const hotkeys: { subscribe: (v: (t: ScreenKeys) => void) => () => void; }; interface ILocale$1 { dayShort: string[]; dayFull: string[]; monthShort: string[]; monthFull: string[]; weekStart?: number; am?: string[]; pm?: string[]; } declare function getDuodecade(year: number): { start: number; end: number; }; type DateFormatter = (date: Date) => string; declare function dateToString(format: string, locale: ILocale$1): DateFormatter; type Dictionary = (key: string) => string; type IHash = { [key: string]: T; }; type Group = IHash | T>; type Terms = Group; interface ILocale { getGroup(group: string): Dictionary; getRaw(): Terms; extend(values: Terms, optional: boolean): ILocale; } declare function locale(words: Terms): ILocale; interface Env { detect: () => boolean; addEvent: (node: HTMLElement, event: string, handler: EventListenerOrEventListenerObject) => RemoveEventListener; addGlobalEvent: (event: string, handler: EventListenerOrEventListenerObject, rel: HTMLElement) => RemoveEventListener; getTopNode: (rel: HTMLElement) => HTMLElement; } type RemoveEventListener = () => void; declare const env: Env; declare function setEnv(update: Partial): void; declare const salesForceEnv: Partial; export { type ILocale, type TPosition, type Terms, calculatePosition, clickOutside, dateToString, delegateClick, delegateEvent, env, getAbsParent, getDuodecade, getID, getPopupParents, hotkeys, locale, locate, locateAttr, locateID, locateNode, salesForceEnv, setEnv, setID, uid };