import { type Some, type TryResult } from '@loken/utilities';
import { type IGraphSignal, type TraversalType } from './graph.types.js';
/**
 * @internal Has some members which must be public for internal use
 *           which should not be used by a consumer.
 */
export declare class GraphSignal<TNode> implements IGraphSignal<TNode> {
    #private;
    get depth(): number;
    get count(): number;
    next(nodes: Some<TNode>): void;
    skip(): void;
    end(): void;
    constructor(options: {
        roots: Some<TNode>;
        detectCycles?: boolean;
        type?: TraversalType;
    });
    shouldYield(): boolean;
    cleanup(): void;
    tryGetNext(): TryResult<TNode, string>;
    private tryGetNextInternal;
}
//# sourceMappingURL=graph-signal.d.ts.map