import React from 'react';
import type { GitHubRepository } from '../../types/github';
/**
 * Reference to a locally cloned repository
 * Used to match GitHub repos with local entries
 */
export interface LocalRepositoryReference {
    /** Local file system path */
    path: string;
    /** Repository name */
    name: string;
    /** GitHub full name (owner/repo) if known */
    githubFullName?: string;
    /** GitHub numeric ID if known */
    githubId?: string;
}
export interface GitHubRepositoryCardProps {
    /** GitHub repository data */
    repository: GitHubRepository;
    /** Local repository reference if cloned */
    localRepo?: LocalRepositoryReference;
    /** Callback when clone button is clicked */
    onClone?: (repo: GitHubRepository) => void;
    /** Callback when open button is clicked (for local repos) */
    onOpen?: (localPath: string) => void;
    /** Whether an operation is in progress */
    isLoading?: boolean;
    /** Whether the card is selected */
    isSelected?: boolean;
    /** Callback when card is clicked */
    onSelect?: (repo: GitHubRepository) => void;
    /** Callback when add to collection button is clicked */
    onAddToCollection?: (repo: GitHubRepository) => void;
    /** Whether the repository is already in the current collection */
    isInCollection?: boolean;
    /** Name of the current collection (for tooltip) */
    collectionName?: string;
}
/**
 * GitHubRepositoryCard - Displays a GitHub repository with clone/open actions
 *
 * Used by GitHubStarredPanel, GitHubProjectsPanel, and GitHubSearchPanel
 * to display repositories with consistent styling and behavior.
 */
export declare const GitHubRepositoryCard: React.FC<GitHubRepositoryCardProps>;
//# sourceMappingURL=GitHubRepositoryCard.d.ts.map