/**
 * QueryReads — graph read operations on materialized state.
 *
 * Functions that read nodes, edges, properties, and neighbors
 * from cached CRDT state. Extracted from QueryController.
 */
import type SnapshotWarpState from '../snapshot/SnapshotWarpState.ts';
import type { SnapshotPropValue } from '../snapshot/SnapshotPropValue.ts';
import type { QueryReadHost } from './ReadGraphHost.ts';
type NeighborEntry = {
    nodeId: string;
    label: string;
    direction: 'outgoing' | 'incoming';
};
type PropertyBag = Readonly<{
    [key: string]: SnapshotPropValue;
}>;
type VisibleEdgeRead = {
    from: string;
    to: string;
    label: string;
    props: PropertyBag;
};
export declare function hasNodeImpl(host: QueryReadHost, nodeId: string): Promise<boolean>;
export declare function getNodePropsImpl(host: QueryReadHost, nodeId: string): Promise<PropertyBag | null>;
export declare function getEdgePropsImpl(host: QueryReadHost, edge: {
    from: string;
    to: string;
    label: string;
}): Promise<PropertyBag | null>;
export declare function neighborsImpl(host: QueryReadHost, params: {
    nodeId: string;
    direction: 'outgoing' | 'incoming' | 'both';
    edgeLabel?: string;
}): Promise<NeighborEntry[]>;
export declare function getStateSnapshotImpl(host: QueryReadHost): Promise<SnapshotWarpState | null>;
export declare function getNodesImpl(host: QueryReadHost): Promise<string[]>;
export declare function getEdgesImpl(host: QueryReadHost): Promise<VisibleEdgeRead[]>;
export declare function getPropertyCountImpl(host: QueryReadHost): Promise<number>;
export {};
