import type CSSObject from '../../Core/Renderer/CSSObject'; /** * The event object for the grid. */ export interface GridEvent { /** * The original browser event. */ originalEvent?: E; /** * The target of the event. */ target: T; } /** * The event listener for the grid. */ export interface GridEventListener { eventName: keyof HTMLElementEventMap; listener: EventListener; } /** * Parameters for the makeHTMLElement utils function. */ export interface MakeHTMLElementParameters { className?: string; id?: string; innerText?: string; innerHTML?: string; style?: Partial; } /** * A style object or callback returning one. */ export type StyleValue = CSSObject | ((this: T, target: T) => CSSObject); /** * Creates a HTML element with the provided options. * * @param tagName * The tag name of the element. * * @param params * The parameters of the element. * * @param parent * The parent element. */ export declare function makeHTMLElement(tagName: string, params?: MakeHTMLElementParameters, parent?: HTMLElement): T; /** * Creates a div element with the provided class name and id. * * @param className * The class name of the div. * * @param id * The id of the element. */ export declare function makeDiv(className: string, id?: string): HTMLElement; /** * Check if there's a possibility that the given string is an HTML * (contains '<'). * * @param str * Text to verify. */ export declare function isHTML(str: string): boolean; /** * Returns a string containing plain text format by removing HTML tags * * @param text * String to be sanitized * * @returns * Sanitized plain text string */ export declare function sanitizeText(text: string): string; /** * Sets an element's content, checking whether it is HTML or plain text. * Should be used instead of element.innerText when the content can be HTML. * * @param element * Parent element where the content should be. * * @param content * Content to render. */ export declare function setHTMLContent(element: HTMLElement, content: string): void; /** * Creates a proxy that, when reading a property, first returns the value * from the original options of a given entity; if it is not defined, it * falls back to the value from the defaults (default options), recursively * for nested objects. Setting values on the proxy will change the original * options object (1st argument), not the defaults (2nd argument). * * @param options * The specific options object. * * @param defaultOptions * The default options to fall back to. * * @returns * A proxy that provides merged access to options and defaults. */ export declare function createOptionsProxy(options: T, defaultOptions?: Partial): T; /** * Format text with placeholders. Used for lang texts. * * @param template The text template with placeholders * @param values Object containing values to replace placeholders * @returns Formatted text */ export declare function formatText(template: string, values: Record): string; /** * Checks whether two objects have the same own keys and values. * * Supports nested plain objects and arrays. Functions are compared by * reference. * * @param left * The first object to compare. * * @param right * The second object to compare. * * @returns * `true` when both objects are equal, otherwise `false`. */ export declare function isDeepEqual(left: unknown, right: unknown): boolean; /** * Resolves a style value that can be static or callback based. * * @param style * Style object or callback returning one. * * @param target * Runtime target used as callback context and first argument. * * @returns * A resolved style object or `undefined`. */ export declare function resolveStyleValue(style?: StyleValue, target?: T): (CSSObject | undefined); /** * Resolves and merges style values in order. * * @param target * Runtime target used as callback context and first argument. * * @param styleValues * Style values to merge in order, where latter entries override former. * * @returns * Merged style object. */ export declare function mergeStyleValues(target: T, ...styleValues: Array<(StyleValue | undefined)>): CSSObject; /** * Waits for the next animation frame. */ export declare function waitForAnimationFrame(): Promise; declare const _default: { readonly makeHTMLElement: typeof makeHTMLElement; readonly makeDiv: typeof makeDiv; readonly isHTML: typeof isHTML; readonly sanitizeText: typeof sanitizeText; readonly setHTMLContent: typeof setHTMLContent; readonly createOptionsProxy: typeof createOptionsProxy; readonly formatText: typeof formatText; readonly isDeepEqual: typeof isDeepEqual; readonly resolveStyleValue: typeof resolveStyleValue; readonly mergeStyleValues: typeof mergeStyleValues; readonly waitForAnimationFrame: typeof waitForAnimationFrame; }; export default _default;