import { observe } from "@synnaxlabs/x";
import { type Mock } from "vitest";
import { type telem } from '../aether';
declare class Base {
    cleanupStub: Mock;
    cleanup(): Promise<void>;
}
export declare class BooleanSink extends Base implements telem.BooleanSink {
    value: boolean | null;
    fn: Mock;
    set(value: boolean): Promise<void>;
}
export declare const booleanSinkSpec: telem.BooleanSinkSpec;
export declare class BooleanSource extends observe.Observer<void> implements telem.BooleanSource {
    private iValue;
    cleanupStub: Mock;
    constructor(value?: boolean);
    setValue(value: boolean): void;
    value(): Promise<boolean>;
    cleanup(): Promise<void>;
}
export declare const booleanSourceSpec: telem.BooleanSourceSpec;
export declare const FACTORY: telem.Factory;
export declare class Provider implements telem.Provider {
    clusterKey: string;
    key: string;
    equals(other: telem.Provider): boolean;
    created: Record<string, telem.Telem>;
    registerFactory(f: telem.Factory): void;
    create<T>(spec: telem.Spec): T;
}
export {};
