import type { ModelTier } from './multi-agent.js';
import type { AgentRoleTemplate } from './agent-roles.js';
export interface TagMapping {
    tags: string[];
    role: string;
    fileOwnershipPattern: string[];
    modelOverride?: ModelTier;
}
export interface RoleRegistryConfig {
    mappings: TagMapping[];
    alwaysInclude: string[];
}
export interface MappedRoleAssignment {
    role: string;
    template: AgentRoleTemplate;
    fileOwnershipPattern: string[];
    model: ModelTier;
    matchedTags: string[];
    source: 'tag-match' | 'always-include';
}
export interface TagMappingResult {
    assignments: MappedRoleAssignment[];
    rationale: string[];
    unmatchedTags: string[];
}
/** Internal use only — candidates collected from tag matching before dedup */
export interface RoleCandidate {
    role: string;
    fileOwnershipPattern: string[];
    matchedTags: string[];
}
//# sourceMappingURL=agent-role-mapper.d.ts.map