/** * @typedef InputElementResizerConfig * @property {number} [minWidth] The minimum width of the element. * @property {number} [maxWidth] The maximum width of the element. * @property {number} [minHeight] The minimum height of the element. * @property {number} [maxHeight] The maximum height of the element. * @property {function(HTMLElement): string} [textContent] The function that returns the text content to measure. */ /** * @typedef InputElementResizer * @property {function(HTMLElement, InputElementResizerConfig, boolean): void} init Initializes the resizer. * @property {function(): void} resize Resizes the element. * @property {function(): void} unObserve Removes the event listeners. */ /** * Creates an input element resizer. * * @param {Document} ownerDocument The document to create the resizer for. * @param {InputElementResizerConfig} initialOptions The configuration to extend the defaults with. * @returns {InputElementResizer} */ export declare function createInputElementResizer(ownerDocument: Document, initialOptions?: Record): { init: (elementToObserve: HTMLElement, config: Record, doObserve?: boolean) => void; resize: () => void; unObserve(): void; };