import type { LayoutData } from '../../types.js';
import type { GridRoutingTestOptions } from './router.js';
import { type GridRoutingInstrumentation } from './routerInstrumentation.js';
import type { GridLayoutResult } from './types.js';
export declare class GridEdgeRoutingSession {
    private readonly layout;
    private readonly result;
    private readonly metrics;
    private readonly options;
    private prepared;
    private modes;
    private routingContext;
    private readonly searchWorkspace;
    private endpointOverlayScratch;
    private readonly pairedPortals;
    private readonly ownerSideCounts;
    private instrumentedRoutes;
    private readonly selfLoopCounts;
    private readonly pairRoutes;
    private routed;
    constructor(layout: LayoutData, result: GridLayoutResult, metrics: GridRoutingInstrumentation | undefined, options: GridRoutingTestOptions);
    route(): void;
    private prepare;
    private pairedPortal;
    private alternativePairedPortals;
    private itemSegmentAttachment;
    private alternativeItemAttachments;
    private routePlan;
    private occupancyFor;
    private createBundleCheckpoint;
    private restoreBundleCheckpoint;
    private routeBundle;
}
