/**
 * BedrockIntegrationService — concrete adapter for IBedrockIntegrationService.
 *
 * Two pathways:
 *   - Short probes (`doctor`, `verifyPipx`, `verifyBedrockBinary`) go through
 *     the constructor-injected `ExecFunction` token. That function already
 *     handles the Windows .cmd quoting quirk and is trivially mockable for
 *     unit tests.
 *   - Streaming lifecycle commands (`init`, `sync`, `ship`) drop down to
 *     `child_process.spawn` so stdout/stderr can be piped through the
 *     `onProgress` callback as they arrive. We pass args as an array, never
 *     set `shell: true`, and always set `windowsHide: true` per the
 *     cross-platform rules in packages/CLAUDE.md.
 *
 * The adapter is a pure executor: it never persists, never touches the
 * `.claude/` reconciler, and never speaks to the domain layer. Callers
 * (use cases) orchestrate enable-flow side effects.
 */
import { type BedrockHealth } from '../../../domain/generated/output.js';
import type { BedrockLifecycleOptions, BedrockLifecycleResult, IBedrockIntegrationService } from '../../../application/ports/output/services/bedrock-integration.service.js';
import type { ExecFunction } from '../git/worktree.service.js';
export declare class BedrockIntegrationService implements IBedrockIntegrationService {
    private readonly execFile;
    constructor(execFile: ExecFunction);
    init(opts: BedrockLifecycleOptions): Promise<BedrockLifecycleResult>;
    sync(opts: BedrockLifecycleOptions): Promise<BedrockLifecycleResult>;
    ship(opts: BedrockLifecycleOptions): Promise<BedrockLifecycleResult>;
    doctor(): Promise<BedrockHealth>;
    /**
     * Adapter-only helper used by the tool-installer verify path. Throws the
     * typed domain error so presentation layers can present remediation
     * directly rather than parsing generic ENOENT messages.
     */
    verifyPipx(): Promise<void>;
    /**
     * Adapter-only helper used by the tool-installer verify path. Throws the
     * typed domain error when the bedrock binary is not resolvable on PATH.
     */
    verifyBedrockBinary(): Promise<void>;
    private probePython;
    private probePipx;
    private probeBedrock;
    private runLifecycle;
}
//# sourceMappingURL=bedrock-integration.service.d.ts.map