/**
 * Team Configuration Management
 *
 * Handles reading/writing team config from .ano/config.json
 * Advisory enforcement - shows warnings but doesn't block.
 */
import type { TeamConfig, TeamMember, TeamRole } from './types.js';
/**
 * Get the path to the team config file
 */
export declare function getConfigPath(projectRoot?: string): string;
/**
 * Get the .ano directory path
 */
export declare function getConfigDir(projectRoot?: string): string;
/**
 * Default team configuration
 */
export declare function createDefaultConfig(projectName?: string): TeamConfig;
/**
 * Read team config from disk
 * Returns null if no config exists
 */
export declare function readTeamConfig(projectRoot?: string): Promise<TeamConfig | null>;
/**
 * Write team config to disk
 */
export declare function writeTeamConfig(config: TeamConfig, projectRoot?: string): Promise<void>;
/**
 * Initialize team config (create if doesn't exist)
 * Returns true if created, false if already exists
 */
export declare function initTeamConfig(projectName?: string, projectRoot?: string): Promise<boolean>;
/**
 * Add a member to the team
 */
export declare function addTeamMember(member: TeamMember, projectRoot?: string): Promise<{
    added: boolean;
    reason?: string;
}>;
/**
 * Remove a member from the team (by email)
 */
export declare function removeTeamMember(email: string, projectRoot?: string): Promise<{
    removed: boolean;
    reason?: string;
}>;
/**
 * Find a team member by email
 */
export declare function findTeamMember(email: string, projectRoot?: string): Promise<TeamMember | null>;
/**
 * Check if an email belongs to a team member
 * Returns member info and their role permissions
 */
export declare function checkTeamMembership(email: string, projectRoot?: string): Promise<{
    isMember: boolean;
    member?: TeamMember;
    role?: TeamRole;
}>;
/**
 * Add a new role to the config
 */
export declare function addTeamRole(roleName: string, role: TeamRole, projectRoot?: string): Promise<{
    added: boolean;
    reason?: string;
}>;
/**
 * Update approval requirements
 */
export declare function setRequirements(requirements: Partial<TeamConfig['requirements']>, projectRoot?: string): Promise<void>;
/**
 * Get formatted team member status for an approver
 * Used in check/approve commands for advisory display
 */
export declare function getApproverStatus(email: string, projectRoot?: string): Promise<string>;
