/**
 * Repository Initialization
 *
 * Extracted from repo-structure-manager.ts to reduce file size and prevent crashes.
 * Handles cloning, git initialization, and directory structure creation.
 */
import type { GitProvider } from './git-provider.js';
import type { RepoStructureConfig } from './repo-structure-manager.js';
export interface RepoInitializerOptions {
    projectPath: string;
    githubToken?: string;
}
/**
 * Check if a repository exists on GitHub
 */
export declare function repositoryExistsOnGitHub(owner: string, repo: string, githubToken?: string): Promise<boolean>;
/**
 * Clone or initialize a repository
 * If the repo exists on the platform, clone it; otherwise, init + add remote
 */
export declare function cloneOrInitRepository(repoPath: string, owner: string, name: string, createOnGitHub: boolean, urlType: "ssh" | "https" | undefined, provider: GitProvider, githubToken?: string): Promise<void>;
/**
 * Create basic structure for a repository/project
 *
 * NOTE: Only creates src/ and tests/ folders for nested projects.
 * Documentation lives in .specweave/docs/internal/specs/{project-id}/ (source of truth)
 */
export declare function createBasicRepoStructure(repoPath: string, projectId: string): void;
/**
 * Initialize local git repositories
 */
export declare function initializeLocalRepos(config: RepoStructureConfig, projectPath: string, githubToken?: string): Promise<void>;
/**
 * Create SpecWeave project structure (simplified - ONLY specs folders)
 *
 * NOTE: As of v0.X.X (increment 0026), we ONLY create specs/ folders.
 * No modules/, team/, architecture/, legacy/ folders.
 */
export declare function createSpecWeaveStructure(config: RepoStructureConfig, projectPath: string): Promise<void>;
//# sourceMappingURL=repo-initializer.d.ts.map