import { State } from "./state"; declare abstract class Hook

{ id: number; state: State; constructor(id: number, state: State); abstract update(...args: P): R; teardown?(disconnected?: boolean): void; } interface CustomHook

{ new (id: number, state: State, ...args: P): Hook; } declare function hook

(Hook: CustomHook): (...args: P) => R; export { hook, Hook };