declare class SignalConnection {
    #private;
    connected: boolean;
    constructor(disconnectCallback: () => (void));
    disconnect(): void;
}
declare class Signal {
    #private;
    fire(event: string, ...args: any): void;
    connect(event: string, callback: (...args: any) => (void)): SignalConnection;
    once(event: string, callback: (...args: any) => (void)): SignalConnection;
    wait(event: string): Promise<unknown>;
    static fire(event: string, ...args: any): void;
    static connect(event: string, callback: (...args: any) => (void)): SignalConnection;
    static once(event: string, callback: (...args: any) => (void)): SignalConnection;
    static wait(event: string): Promise<unknown>;
}

export { Signal };
