export interface GateCliLaunch {
    command: string;
    args: string[];
    cwd?: string;
}
export interface BranchLocalGateCli {
    cliPath: string;
    cliRoot: string;
    routeReceiptPath: string;
    shimRoot: string;
}
export interface ValidatedGateRouteEnvelope {
    route: 'inline' | 'delegate-sync' | 'refuse';
    reason: string;
    cliRoot: string;
}
export interface GateRouteReceipt extends ValidatedGateRouteEnvelope {
    runtime: string;
}
export declare function currentGateCliRoot(): string;
export declare function currentGateCliLaunch(): GateCliLaunch;
export declare function createBranchLocalGateCli(input: {
    runId: string;
    launch: GateCliLaunch;
    cliRoot?: string;
    tempRoot?: string;
}): Promise<BranchLocalGateCli>;
export declare function removeBranchLocalGateCli(shim: BranchLocalGateCli): Promise<void>;
export declare function validateGateRouteEnvelope(output: string, expectedCliRoot: string): ValidatedGateRouteEnvelope;
export declare function readGateRouteReceipt(path: string, expectedCliRoot: string, expectedRuntime: string): Promise<GateRouteReceipt>;
//# sourceMappingURL=branch-local-cli.d.ts.map