import { frameType } from './frame'; import { ParseSelector } from 'typed-query-selector/parser'; import type * as CSS from "csstype"; type csshyphen = CSS.PropertiesHyphen & CSS.Properties & { [key: `--${string}`]: string; }; export { init as initDKH, setTranslate, /** * @deprecated use `init` instead. */ pureStyle, type el as ElType, pack, ele, elFromId, noI18n, txt, p, pText, a, view, spacer, image, input, textarea, button, check, select, dynamicSelect, label, radioGroup, table, dynamicList, alert, confirm, prompt, addStyle, addClass, setProperty, setProperties, theme, frame, trackPoint, animate, initDev, }; type Text = string | PureText; declare let t: (s: Text) => string; declare function setTranslate(f: (s: string) => string): void; declare function init(op: { dev?: boolean; translate?: (s: string) => string; pureStyle?: boolean; attrMap?: { [key: string]: (v: any, el: HTMLElement) => any | undefined; }; }): void; declare function pureStyle(): void; declare function frame(id: Id, f: t): { /**@deprecated use _ instead */ el: el; _: el; els: frameType & { [key in Id]: ReturnType; }; src: t; }; type NonFunctionKeys = { [K in keyof T]: T[K] extends (...Args: any[]) => unknown ? never : K; }[keyof T]; type inputTypeType = "button" | "checkbox" | "color" | "date" | "datetime-local" | "email" | "file" | "hidden" | "image" | "month" | "number" | "password" | "radio" | "range" | "reset" | "search" | "submit" | "tel" | "text" | "time" | "url" | "week"; type getAttr = Omit]?: el[k]; }, "type"> & { type?: inputTypeType; } : { [k in NonFunctionKeys]?: el[k]; }, "style"> & { popover?: "auto" | "manual"; style?: string; }; type generalEl = HTMLElement | { el: HTMLElement; } | el0 | Text | DocumentFragment; type addTypeItem = undefined | null | generalEl; type addType = addTypeItem | addTypeItem[]; type dkhEL = { el: EL; style: (css: csshyphen) => dkhEL; on: (e: key, cb: (event: HTMLElementEventMap[key], cel: dkhEL) => void, op?: AddEventListenerOptions) => dkhEL; class: (...classes: string[]) => dkhEL; attr: (attr: getAttr) => dkhEL; data: (data: { [key: string]: string | null | undefined; }) => dkhEL; add: (els?: addType, firstRender?: number, slice?: number) => dkhEL; clear: () => dkhEL; remove: () => void; addInto: (el?: HTMLElement | el0) => dkhEL; query: (q: selector) => dkhEL, unknown, unknown> | null; queryAll: (q: selector) => dkhEL, unknown, unknown>[]; bindSet: (f: (v: SV, el: EL, trans: typeof t) => void) => dkhEL; bindGet: (f: (el: EL) => GV) => dkhEL; sv: (v?: NoInfer) => dkhEL; svc: NoInfer; readonly gv: NoInfer; }; declare function pack(el: EL, setter?: (v: unknown, el: NoInfer, trans: typeof t) => void, getter?: (el: NoInfer) => unknown): dkhEL; declare function initDev(): void; type el = dkhEL; type el0 = el; declare function ele(tagName: K): el; declare function ele(tagName: K): el; declare function ele(tagName: string): el; declare function elFromId(id: string): dkhEL | null; declare class PureText { text: string; constructor(text: string); } declare function noI18n(text: string): PureText; declare function txt(text?: Text, noI18n?: boolean): dkhEL; declare function p(text?: Text, noI18n?: boolean): dkhEL; declare function pText(text?: Text, noI18n?: boolean): dkhEL; declare function a(url: string, localNav?: boolean): dkhEL; declare function view(stack?: "x" | "y", wrap?: "wrap"): el; declare function spacer(): dkhEL; declare function image(src: string, name: Text): dkhEL; declare function button(el?: addType): dkhEL; declare function input(type?: inputTypeType): dkhEL; declare function textarea(placeholder?: string): dkhEL; declare function check(name: string, els?: [generalEl, generalEl]): dkhEL | dkhEL; declare function select(v: { name?: Text; value: t; }[]): dkhEL; declare function dynamicSelect(): { el: dkhEL; setList: (v: { name?: Text; value: string; }[]) => void; }; declare function label(els: [xel, ...generalEl[]], insertIndex?: number): dkhEL; /** form radio, tab, buttons */ declare function radioGroup(name: string, _showInput?: boolean): { new: (value: t, el?: generalEl, showInput?: boolean) => dkhEL; get: () => t; set: (value: t) => void; on: (callback: () => void) => void; }; declare function table(body: Array>, head?: { col?: boolean; row?: boolean; }): dkhEL; declare function dynamicList(pel: el0, list: Iterable<[ID, el0]>, newEl?: (id: ID) => el0): { setList: (l: ID[]) => void; get(id: ID): el0 | undefined; }; declare function alert(message?: string): Promise; declare function confirm(message?: string): Promise; declare function prompt(message?: string, _default?: string): Promise; declare function addStyle(style: Record): void; declare function addClass(style: csshyphen, c: Record): string; declare function setProperty(name: string, v: string, el?: HTMLElement): void; declare function setProperties(map: { [name: string]: string; }, el?: HTMLElement): void; declare function theme, themeName extends string>(baseTheme: base, themes: Record>): { set: (name: themeName | "0") => void; var: Record; getThemeNames: (themeName | "0")[]; }; type Point = { x: number; y: number; }; declare function trackPoint(el: el0, op: { start?: (e: PointerEvent) => (Point & { zoom?: number; data?: Data; }) | null | undefined | false; ing: (point: Point & { zoom?: number; }, e: PointerEvent, more: { center: Point; startData: Data; v: ReturnType; }) => Data2; all?: (e: PointerEvent) => void; end?: (e: PointerEvent, more: { startData: Data; v: ReturnType; } & ({ moved: true; ingData: Data2; } | { moved: false; ingData: undefined; })) => void; }): void; declare function speed(history: (Point & { t: number; })[]): { v: number; } & Point; declare function animate>(initData: () => t, run: (t: t) => void, duration?: number): { set: (state: t, runT?: number | ((t: number) => number)) => void; stop: () => void; };