/**
 * @typedef {{ kind: 'overview' } | { kind: 'project', localPath: string, projectName: string, aliases?: string[] }} CardScope
 */
/**
 * @param {object} input
 * @param {Array<{ project: string, status: string }>} input.activeReviews
 * @param {Array<unknown>} input.reviewFiles
 * @param {CardScope} input.scope
 * @returns {{ running: number, queued: number, completed: number, markerLabel: string, markerKind: 'overview'|'project' }}
 */
export function computeCardCounters(input: {
    activeReviews: Array<{
        project: string;
        status: string;
    }>;
    reviewFiles: Array<unknown>;
    scope: CardScope;
}): {
    running: number;
    queued: number;
    completed: number;
    markerLabel: string;
    markerKind: "overview" | "project";
};
/**
 * Extracts a GitHub-style `owner/repo` slug from a git remote URL.
 * Returns null when the URL does not look like a GitHub remote.
 *
 * Accepts:
 *   - https://github.com/owner/repo.git
 *   - https://github.com/owner/repo
 *   - git@github.com:owner/repo.git
 *   - ssh://git@github.com/owner/repo.git
 *
 * @param {string | undefined | null} remoteUrl
 * @returns {string | null}
 */
export function extractGithubSlug(remoteUrl: string | undefined | null): string | null;
export type CardScope = {
    kind: "overview";
} | {
    kind: "project";
    localPath: string;
    projectName: string;
    aliases?: string[];
};
//# sourceMappingURL=cardCounters.d.ts.map