/**
 * Enable Bedrock For Application Use Case
 *
 * Persists `bedrockEnabled = true` on the target application (if not already
 * enabled) and runs `bedrock init` inside the application's worktree.
 *
 * Idempotency contract: re-running on an already-enabled application skips
 * the persistence write but still invokes `init` so callers can recover from
 * partial state (e.g. flag set but `.bedrock/` missing on disk).
 */
import type { BedrockLifecycleResult, BedrockProgressHandler, IBedrockIntegrationService } from '../../ports/output/services/bedrock-integration.service.js';
import type { IApplicationRepository } from '../../ports/output/repositories/application-repository.interface.js';
export interface EnableBedrockInput {
    applicationId: string;
    onProgress?: BedrockProgressHandler;
}
export declare class EnableBedrockForApplicationUseCase {
    private readonly appRepo;
    private readonly bedrock;
    constructor(appRepo: IApplicationRepository, bedrock: IBedrockIntegrationService);
    execute(input: EnableBedrockInput): Promise<BedrockLifecycleResult>;
}
//# sourceMappingURL=enable-bedrock-for-application.use-case.d.ts.map