/**
 * GitHub Profile Manager
 *
 * Manages multiple GitHub repository profiles for multi-repo projects
 * Handles CRUD operations and profile selection for increments
 *
 * @module cli/helpers/github/profile-manager
 */
/**
 * GitHub repository profile
 */
export interface GitHubProfile {
    id: string;
    provider: 'github';
    displayName: string;
    config: {
        owner: string;
        repo: string;
        monorepoProjects?: string[];
    };
    timeRange?: {
        default: string;
        max: string;
    };
    rateLimits?: {
        maxItemsPerSync: number;
        warnThreshold: number;
    };
}
/**
 * GitHub Profile Manager
 *
 * Handles all profile-related operations
 */
export declare class GitHubProfileManager {
    private configPath;
    private config;
    constructor(projectPath: string);
    /**
     * Load config from disk
     */
    private loadConfig;
    /**
     * Save config to disk
     */
    private saveConfig;
    /**
     * Get all GitHub profiles
     *
     * @returns Array of GitHub profiles
     */
    getAllProfiles(): GitHubProfile[];
    /**
     * Get a specific profile by ID
     *
     * @param id - Profile ID
     * @returns Profile or null
     */
    getProfile(id: string): GitHubProfile | null;
    /**
     * Get the default profile
     *
     * @returns Default profile or null
     */
    getDefaultProfile(): GitHubProfile | null;
    /**
     * Add a new profile
     *
     * @param profile - Profile to add
     * @returns Success status
     */
    addProfile(profile: Omit<GitHubProfile, 'provider'>): boolean;
    /**
     * Update an existing profile
     *
     * @param id - Profile ID
     * @param updates - Partial profile updates
     * @returns Success status
     */
    updateProfile(id: string, updates: Partial<Omit<GitHubProfile, 'id' | 'provider'>>): boolean;
    /**
     * Delete a profile
     *
     * @param id - Profile ID
     * @returns Success status
     */
    deleteProfile(id: string): boolean;
    /**
     * Set default profile
     *
     * @param id - Profile ID
     * @returns Success status
     */
    setDefaultProfile(id: string): boolean;
    /**
     * Interactive profile selection
     *
     * @param message - Prompt message
     * @returns Selected profile or null
     */
    selectProfile(message?: string): Promise<GitHubProfile | null>;
    /**
     * Check if any profiles exist
     *
     * @returns True if profiles exist
     */
    hasProfiles(): boolean;
    /**
     * Get profile count
     *
     * @returns Number of profiles
     */
    getProfileCount(): number;
    /**
     * List all profiles (formatted for display)
     */
    listProfiles(): void;
}
//# sourceMappingURL=profile-manager.d.ts.map