import { Signal } from "../utils/signal";
/**
 * 在线用户数变化消息，当在线用户数发生变化时会收到该消息，详见 {@link KittenCloudOnlineUserNumber.changed}
 */
export type KittenCloudOnlineUserNumberChangObject = {
    originalNumber: number;
    newNumber: number;
};
/**
 * 提供在线用户数相关功能。
 */
export declare class KittenCloudOnlineUserNumber {
    /**
     * 当前在线用户数。
     */
    value: number;
    /**
     * 在线用户数变化时会触发该信号，并提供原有在线用户数和新在线用户数。
     *
     * 在线用户数变化消息详见 {@link KittenCloudOnlineUserNumberChangObject}
     */
    readonly changed: Signal<KittenCloudOnlineUserNumberChangObject>;
    constructor(
    /**
     * 当前在线用户数。
     */
    value: number);
    update(this: this, { total }: {
        total: number;
    }): void;
}
