/**
 * Enhanced Multi-Repository GitHub Integration
 *
 * Provides improved UX for various GitHub repository configurations:
 * - No repository yet (greenfield)
 * - Single repository
 * - Multiple repositories (microservices/polyrepo)
 * - Monorepo (single repo, multiple projects)
 * - Equal multi-repo approach (no parent concept)
 * - Auto-detection from git remotes
 * - GitHub repository creation via API
 *
 * @module cli/helpers/issue-tracker/github-multi-repo
 */
/**
 * GitHub setup type options
 */
export type GitHubSetupType = 'none' | 'multiple' | 'monorepo' | 'auto-detect';
/**
 * GitHub repository profile
 */
export interface GitHubProfile {
    id: string;
    displayName: string;
    owner: string;
    repo: string;
    isDefault?: boolean;
}
/**
 * GitHub configuration result
 */
export interface GitHubConfiguration {
    token: string;
    instanceType: 'cloud' | 'enterprise';
    apiEndpoint?: string;
    setupType: GitHubSetupType;
    profiles: GitHubProfile[];
    monorepoProjects?: string[];
}
/**
 * Result from promptGitHubSetupType including optional profiles
 */
export interface GitHubSetupResult {
    setupType: GitHubSetupType;
    profiles?: GitHubProfile[];
    monorepoProjects?: string[];
}
/**
 * Prompt for GitHub setup type
 * Enhanced to integrate with RepoStructureManager for repository creation
 *
 * @param projectPath - Path to project directory
 * @param githubToken - Optional GitHub token for API calls
 * @param repositoryHosting - Optional repository hosting choice from init.ts (prevents duplicate prompts)
 * @param recursionDepth - Internal recursion tracking to prevent infinite loops (Issue #5 fix)
 * @param gitUrlFormat - Optional Git URL format from repository setup (SSH or HTTPS) - v1.0.8+
 * @returns Selected setup type with optional profiles (if RepoStructureManager was used)
 */
export declare function promptGitHubSetupType(projectPath?: string, githubToken?: string, repositoryHosting?: string, recursionDepth?: number, gitUrlFormat?: 'ssh' | 'https'): Promise<GitHubSetupResult>;
/**
 * Configure no repository (defer setup)
 *
 * @returns Empty profiles array
 */
export declare function configureNoRepository(): Promise<GitHubProfile[]>;
/**
 * Configure multiple repositories
 *
 * @param projectPath - Path to project directory
 * @returns Multiple profiles array
 */
export declare function configureMultipleRepositories(projectPath: string): Promise<GitHubProfile[]>;
/**
 * Configure monorepo
 *
 * @param projectPath - Path to project directory
 * @returns Single profile with projects
 */
export declare function configureMonorepo(projectPath: string): Promise<{
    profiles: GitHubProfile[];
    projects: string[];
}>;
/**
 * Auto-detect and configure repositories
 *
 * @param projectPath - Path to project directory
 * @param recursionDepth - Internal recursion tracking to prevent infinite loops (Issue #5 fix)
 * @returns Detected profiles
 */
export declare function autoDetectRepositories(projectPath: string, recursionDepth?: number): Promise<GitHubProfile[]>;
//# sourceMappingURL=github-multi-repo.d.ts.map