import type { RefCountedEvents } from '../object'; import { RefCounted } from '../object'; export interface ResourceEvents extends RefCountedEvents { } export interface Resource { on: (event: K, listener: (...args: ResourceEvents[K]) => void) => this; once: (event: K, listener: (...args: ResourceEvents[K]) => void) => this; off: (event: K, listener: (...args: ResourceEvents[K]) => void) => this; emit: (event: K, ...args: ResourceEvents[K]) => this; } export declare class Resource extends RefCounted { }