type EventLike = { Connect(callback: T): ConnectionLike; } | { connect(callback: T): ConnectionLike; } | { subscribe(callback: T): ConnectionLike; }; type ConnectionLike = { Disconnect(): void; } | { disconnect(): void; } | (() => void); export declare function useEvent(event: T, listener: T extends EventLike ? U : never): void; export {};