import { Node, TreeChangeType } from '@vertexvis/scene-tree-protos/scenetree/protos/domain_pb';
import { FilterResponse, GetTreeResponse, SubscribeResponse } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb';
import type { ResponseStream, Status } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb_service';
export declare class ResponseStreamMock<T> implements ResponseStream<T> {
    private onData;
    private onStatus;
    private onEnd;
    cancel(): void;
    on(type: string, handler: any): ResponseStream<T>;
    invokeOnData(msg: T): void;
    invokeOnEnd(status?: Status): void;
    invokeOnStatus(status: Status): void;
}
export declare function createGetTreeResponse(itemCount: number, totalCount: number | null, transform?: (node: Node) => void): GetTreeResponse;
export declare function createFilterTreeResponse(resultCount: number, partialResults?: boolean): FilterResponse;
export declare function createSubscribeResponse(change: TreeChangeType): SubscribeResponse;
export declare function createListChange(start: number): TreeChangeType;
