/**
 * Git provider factory
 *
 * Returns the singleton GitProvider instance.
 * Resolution order:
 *   1. Explicit vcs_provider from config (via initGitProvider)
 *   2. Auto-detection from git remote URL
 *   3. GitHub fallback
 */
import type { GitProvider, CreatePrOptions, CreatePrResult } from './types.js';
export type { GitProvider, Issue, CliStatus, ExistingPr, IssueListItem, PrListItem, CreatePrOptions, CreatePrResult, CommentResult, MergeResult, CreateIssueOptions, CreateIssueResult, PrReviewComment, PrReviewData, PrReviewThreadState } from './types.js';
export { formatIssueAsTask, parseIssueNumbers, isIssueReference, formatPrReviewAsTask, buildPrBody, buildTaktManagedPrOptions, stripTaktManagedPrMarker, } from './format.js';
/**
 * Initialize the git provider from project configuration.
 *
 * Reads `vcs_provider` from the resolved config (project → global).
 * If not set, falls back to auto-detection from git remote URL.
 * If auto-detection also fails, defaults to GitHub.
 *
 * Safe to call multiple times: the singleton is only re-created
 * when the resolved provider type actually changes.
 */
export declare function initGitProvider(projectDir: string): void;
/**
 * Get the singleton GitProvider instance.
 *
 * If `initGitProvider` has not been called, falls back to
 * auto-detection → GitHub default.
 */
export declare function getGitProvider(): GitProvider;
export declare function createPullRequestSafely(gitProvider: GitProvider, options: CreatePrOptions, cwd?: string): CreatePrResult;
/**
 * Resolve issue references in a task string using the singleton GitProvider.
 *
 * If task contains `#N` patterns (space-separated), fetches issues and returns formatted text.
 * Otherwise returns the task string as-is.
 * Throws if VCS CLI is not available or issue fetch fails.
 */
export declare function resolveIssueTask(task: string, cwd?: string): string;
//# sourceMappingURL=index.d.ts.map