import type { CanonicalEntry } from '../../engine/index.js';
import type { CodexExtensionPlan } from '../../providers/codex/codec/sync-extension.js';
export interface CodexRoleStray {
    roleName: string;
    providerPath: string;
    description?: string;
}
export interface CodexRegenerationDependencies {
    scopeRoot: string;
    scanCanonical: () => Promise<CanonicalEntry[]>;
    computeExtensionPlan: (scopeRoot: string, canonicalEntries: CanonicalEntry[]) => Promise<CodexExtensionPlan>;
    applyExtensionPlan: (scopeRoot: string, plan: CodexExtensionPlan) => Promise<unknown>;
}
export declare function detectCodexRoleStrays(scopeRoot: string, canonicalEntries: CanonicalEntry[], managedRoleNames?: Set<string>): Promise<CodexRoleStray[]>;
export declare function regenerateCodexAfterAdoption({ scopeRoot, scanCanonical, computeExtensionPlan, applyExtensionPlan, }: CodexRegenerationDependencies): Promise<void>;
//# sourceMappingURL=codex-strays.d.ts.map