typed-dom
Version:
A value-level and type-level DOM builder.
27 lines (26 loc) • 804 B
TypeScript
export declare namespace symbols {
const proxy: unique symbol;
const listeners: unique symbol;
}
interface Target {
readonly element: Element & {
readonly [symbols.proxy]?: Target;
};
readonly [symbols.listeners]?: Listeners;
}
export declare class Listeners {
private readonly element;
static of(target: Target): Listeners | undefined;
constructor(element: Element);
get mutation(): boolean;
get connection(): boolean;
get disconnection(): boolean;
haveConnectionListener(): boolean;
private readonly targets;
add(target: Target): void;
del(target: Target): void;
dispatchMutateEvent(): void;
dispatchConnectEvent(targets?: readonly Target[]): void;
dispatchDisconnectEvent(targets?: readonly Target[]): void;
}
export {};