/**
 * Check if a git repository has a GitHub remote configured.
 *
 * @param cwd - Directory to check (defaults to process.cwd())
 * @returns true if the repository has a GitHub remote
 */
export declare function hasGitHubRemote(cwd?: string): boolean;
/**
 * Check if a URL/path is a local filesystem path (not a remote URL).
 */
export declare function isLocalPath(urlOrPath: string): boolean;
/**
 * Get the origin remote URL for a git repository.
 */
export declare function getOriginUrl(repoPath: string): string | null;
/**
 * Resolve the actual GitHub/GitLab remote URL for a repository.
 *
 * When a repo is cloned from a local filesystem path, its origin points to that
 * local path. This function detects that case and resolves the real remote URL
 * by reading the source repo's remotes.
 *
 * Resolution strategy:
 * 1. Get the repo's origin URL
 * 2. If it's already a remote URL (https://, git@, ssh://), return it as-is
 * 3. If it's a local path, read that source repo's remotes to find a remote URL
 * 4. Prefer 'origin', then 'upstream', then any remote with a remote URL
 * 5. If no remote URL found, return the local path as fallback
 *
 * @param repoPath - Path to the git repository
 * @returns { url: string, isResolved: boolean, warning?: string }
 */
export declare function resolveRemoteUrl(repoPath: string): {
    url: string | null;
    isResolved: boolean;
    warning?: string;
};
/**
 * Find the best remote URL from a git repository's configured remotes.
 * Prefers origin > upstream > any other remote.
 * Only returns actual remote URLs (not local paths).
 */
export declare function findRemoteUrl(repoPath: string): string | null;
/**
 * Check if a path is a git repository.
 */
export declare function isGitRepo(dir: string): boolean;
/**
 * Update a git repository's origin URL to a new URL.
 */
export declare function setOriginUrl(repoPath: string, newUrl: string): void;
