/**
 * GitHub Repository Validator
 *
 * Validates repository and owner existence before creation.
 * Prevents errors from duplicate repos or non-existent owners.
 *
 * Features:
 * - Repository existence check via GitHub API
 * - Owner/organization validation
 * - Retry logic with exponential backoff
 * - Rate limit awareness
 * - Actionable error messages with troubleshooting steps
 *
 * @module github-validator
 */
/**
 * Validation result
 */
export interface ValidationResult {
    exists: boolean;
    valid: boolean;
    url?: string;
    error?: string;
}
/**
 * Owner validation result
 */
export interface OwnerValidationResult {
    valid: boolean;
    type?: 'user' | 'org';
    error?: string;
}
interface RetryConfig {
    maxAttempts: number;
    baseDelay: number;
}
/**
 * Validate if a GitHub repository exists
 *
 * @param owner - Repository owner (user or org)
 * @param repo - Repository name
 * @param token - GitHub personal access token (optional)
 * @returns Validation result
 */
export declare function validateRepository(owner: string, repo: string, token?: string): Promise<ValidationResult>;
/**
 * Validate if a GitHub owner (user or organization) exists
 *
 * @param owner - Owner name to validate
 * @param token - GitHub personal access token (optional)
 * @returns Owner validation result
 */
export declare function validateOwner(owner: string, token?: string): Promise<OwnerValidationResult>;
/**
 * Validate with retry logic
 *
 * @param fn - Validation function to retry
 * @param config - Retry configuration
 * @returns Validation result
 */
export declare function validateWithRetry<T>(fn: () => Promise<T>, config?: RetryConfig): Promise<T>;
export declare function checkRateLimit(token?: string): Promise<{
    remaining: number;
    resetAt: Date;
}>;
export {};
//# sourceMappingURL=github-validator.d.ts.map