export declare type MutationFilter = (records: MutationRecord[], host?: HTMLElement) => boolean;
/**
 * The function `TagNameMutationFilter` filters mutations based on whether they involve elements with a
 * specific tag name.
 *
 * @param {string[]} tagNames - The `TagNameMutationFilter` function takes a `tagName` parameter, which is
 * a string representing the tag name of an HTML element. The function then returns a `MutationFilter`
 * function that filters mutations based on whether any added or removed nodes have the specified tag
 * name.
 * @returns {MutationFilter} The `TagNameMutationFilter` function is being returned. It takes a `tagName` parameter of
 * type string and returns a `MutationFilter` function that filters mutations based on whether any
 * added or removed nodes have a tag name matching the provided `tagName`.
 */
export declare const TagNameMutationFilter: (...tagNames: string[]) => MutationFilter;
/**
 * The function `AttributeOldValueMutationFilter` filters mutations based on whether the old attribute
 * value differs from the current attribute value on the host element.
 *
 * @returns { MutationFilter }The code snippet defines a function named `AttributeOldValueMutationFilter` that returns a
 * `MutationFilter` function. The `MutationFilter` function takes an array of `MutationRecord` objects
 * and an `HTMLElement` as parameters.
 */
export declare const AttributeOldValueMutationFilter: () => MutationFilter;
/**
 * Filters mutations based on specified tag names or attribute changes.
 *
 * @param {string[]} tagNames - The tagName of need listened child.
 * @returns {MutationFilter} - Filter function.
 */
export declare const TagNameAndAttributeMutationFilter: (...tagNames: string[]) => MutationFilter;
