import { CliError } from '../../errors/index.js';
import type { Manifest } from '../../manifest/manifest.types.js';
import type { PathMapping } from '../../providers/shared/adapter.types.js';
interface StrayAdoptionCandidate {
    provider: string;
    report: {
        providerPath: string;
    };
    mapping: PathMapping;
    adoption?: {
        kind: 'codex_role';
        roleName: string;
        description?: string;
    };
}
interface AdoptStrayOptions {
    replaceCanonical?: boolean;
}
export declare function isAdoptionConflictError(error: unknown): error is CliError;
export declare function adoptStrayToCanonical<TCandidate extends StrayAdoptionCandidate>(scopeRoot: string, stray: TCandidate, manifest: Manifest, options?: AdoptStrayOptions): Promise<Manifest>;
export {};
//# sourceMappingURL=adopt-stray.d.ts.map