import type { AmqCommandResult, AmqRunOptions } from "../transport/amq-cli-adapter.js"; import { BindingResolver, type BindingProjectionV1 } from "../transport/binding-resolver.js"; interface JsonRunner { runJson(argv: readonly string[], options?: AmqRunOptions): Promise>; } export interface ConfirmedBindRequest { readonly projectDirectory: string; readonly root: string; readonly handle: string; readonly agents: readonly string[]; readonly environment?: Readonly; } export interface ConfirmedBindPreview { readonly kind: "existing" | "bootstrap"; readonly projectDirectory: string; readonly root: string; readonly session: string; readonly project: string; readonly handle: string; readonly agents: readonly string[]; readonly command: readonly string[]; readonly commandText: string; readonly effects: readonly string[]; } export type ConfirmedBindResult = { readonly kind: "cancelled"; readonly diagnostic: string; } | { readonly kind: "refused"; readonly diagnostic: string; } | { readonly kind: "bound"; readonly binding: BindingProjectionV1; }; /** Owns the confirmation-gated first-run boundary; it never guesses authority. */ export declare class ConfirmedBindOnboarding { #private; constructor(runner: JsonRunner, resolver?: BindingResolver); preview(request: ConfirmedBindRequest): Promise; confirm(preview: ConfirmedBindPreview, confirmed: boolean, environment?: Readonly): Promise; } export declare function parseRosterInput(value: string, handle: string): readonly string[]; export {}; //# sourceMappingURL=confirmed-bind-onboarding.d.ts.map