import { isTag } from 'domelementtype'; import type { DomHandler, ParserEvent, HandlerEvent } from '@mewjs/htmlparser2'; import { Parser } from '@mewjs/htmlparser2'; import type { HTMLElement } from '@mewjs/dom/lib'; import type { Configuration, Configs } from './typings/types'; export declare const isElement: typeof isTag; export declare const isVoidElement: (tag: string) => boolean; export declare function extend(target: Partial, src: T): T; export declare function extend(target: T, src: Partial): T; export declare function extend(target: T, src: R): T & R; export declare function extend(target: Partial, src: Partial): Partial; export declare function extendAttribute(target: T, attributes: U): T & U; export interface Getter { (key: string, refresh?: boolean, ...args: any[]): any; clear?(): void; } export declare function cacheable(getter: Getter): Getter; export interface Position { line: number; column: number; } export declare type GetPosition = (index: number) => Position; export declare function getPosition(content: string): GetPosition; export declare function getPosition(content: string, index: number): Position; declare type CommentOperation = 'disable' | 'disable-next-line' | 'enable' | 'config'; interface CommentInfo { operation: CommentOperation; content: string[] | Record | null; } export declare const extractCommentInfo: (comment: string) => CommentInfo | null; export declare const walk: (root: HTMLElement, handler: (node: HTMLElement) => void, childrenKey?: string) => void; export declare function getInlineConfigByIndex(rule: string, index: number, inlineConfig: Configs, initial: T): T; export declare const getConfigByIndex: (rule: string, index: number, inlineConfig: Configs, config: Partial) => any; export declare function emittable(target: T, events: (keyof E)[]): T; export {};