UNPKG

@pionjs/pion

Version:

Hooks for web components

14 lines (13 loc) 567 B
import { State } from "./state"; declare abstract class Hook<P extends unknown[] = unknown[], R = unknown, H = unknown> { id: number; state: State<H>; constructor(id: number, state: State<H>); abstract update(...args: P): R; teardown?(disconnected?: boolean): void; } interface CustomHook<P extends unknown[] = unknown[], R = unknown, H = unknown> { new (id: number, state: State<H>, ...args: P): Hook<P, R, H>; } declare function hook<P extends unknown[], R, H = unknown>(Hook: CustomHook<P, R, H>): (...args: P) => R; export { hook, Hook };