import { DelegateEvent } from './event.ts'; export type DelegateEventListener = (ev: DelegateEvent) => void; export interface Subscriber { selectors: string[] | undefined; handler: DelegateEventListener; } /** * Returns the target element of the event. * @param ev - The event object to extract the target from. * @returns The target element of the event, or null if not available. */ export declare const getTarget: (ev: Event) => EventTarget | null; /** * Handles event delegation by processing subscribers based on target matching and event propagation. * @param ev - The event object that was triggered. * @param target - The event target element on which the event was originally triggered. * @param baseTarget - The base EventTarget for event delegation. * @param subscribers - An array of subscriber objects containing event listener information. */ export declare const handleEvent: (ev: Event, target: EventTarget, baseTarget: EventTarget, subscribers: Subscriber[]) => void; /** * Parses a CSS selector string into an array of selectors. * @param selector - A CSS selector string that may contain multiple selectors separated by '>>'. * @returns An array of selectors in reverse order. */ export declare const parseSelector: (selector: string) => string[]; /** * Validates the provided CSS selectors. * @param selectors - An array of CSS selector strings to validate. * @returns An error message if any selector is invalid, otherwise undefined. */ export declare const validateSelectors: (selectors: string[] | undefined) => string | undefined; /** * Compares two arrays of selectors for equality. * @param a - First array of selectors. * @param b - Second array of selectors. * @returns True if both arrays are equal, false otherwise. */ export declare const compareSelectors: (a: string[] | undefined, b: string[] | undefined) => boolean;