export interface RepoDetector {
    detect(cwd: string): string | undefined;
}
type ExecRunner = (command: string, options: {
    cwd: string;
}) => string;
/**
 * Resolve `<owner>/<name>` from a git remote URL such as:
 *   git@github.com:AgentWorkforce/ricky.git
 *   https://github.com/AgentWorkforce/ricky.git
 *   https://github.com/AgentWorkforce/ricky
 *   ssh://git@github.com/AgentWorkforce/ricky.git
 */
export declare function parseRepoSlugFromGitUrl(url: string): string | undefined;
/**
 * Detect the current git repo as `<owner>/<name>` from `cwd`.
 *
 * Returns `undefined` when `cwd` is not a git repo, has no `origin` remote,
 * or the remote URL cannot be parsed. Never throws — the caller treats this
 * as "no detected repo" and falls back to whatever the spec text declared.
 */
export declare function detectCurrentRepo(cwd: string, exec?: ExecRunner): string | undefined;
export declare const defaultRepoDetector: RepoDetector;
export {};
