export declare class UtilsEvent<Args extends unknown[]> {
    private callbacks;
    private nextId;
    /**
     * Subscribe to the event with a callback function.
     * @param callback The function to invoke when the event is triggered.
     * @returns A unique ID for the subscribed callback.
     */
    subscribe(callback: (...args: Args) => void): number;
    /**
     * Unsubscribe a callback using its ID.
     * @param id The ID of the callback to unsubscribe.
     */
    unsubscribe(id: number): void;
    /**
     * Notify all subscribers with the provided arguments.
     * @param args The arguments to pass to each callback.
     */
    notify(...args: Args): void;
    /**
     * Check if there are any subscribers.
     * @returns `true` if no subscribers, `false` otherwise.
     */
    isEmpty(): boolean;
    /**
     * Clear all subscribed callbacks.
     */
    clear(): void;
    /**
     * Get the number of subscribed callbacks.
     * @returns The number of subscribers.
     */
    size(): number;
}
//# sourceMappingURL=utilsEvent.d.ts.map