import { BankProvider, Currency, InstallmentType } from '../types/enums';
import { CreditCard, NestpayConfig, ProviderEndpoints } from '../types/interfaces';
/**
 * Validation result interface
 */
interface ValidationResult {
    isValid: boolean;
    errors: string[];
}
/**
 * Static utility class for input validation
 */
export declare class Validators {
    /**
     * Validate credit card information using Luhn algorithm
     * @param card Credit card information
     * @returns Validation result
     */
    static validateCreditCard(card: CreditCard): ValidationResult;
    /**
     * Validate transaction amount
     * @param amount Transaction amount
     * @param currency Currency code
     * @returns Validation result
     */
    static validateAmount(amount: number, currency: Currency): ValidationResult;
    /**
     * Validate order ID
     * @param orderId Order ID
     * @returns Validation result
     */
    static validateOrderId(orderId: string): ValidationResult;
    /**
     * Validate URL
     * @param url URL to validate
     * @param fieldName Field name for error messages
     * @returns Validation result
     */
    static validateUrl(url: string, fieldName: string): ValidationResult;
    /**
     * Validate email address
     * @param email Email address
     * @returns Validation result
     */
    static validateEmail(email: string): ValidationResult;
    /**
     * Validate phone number
     * @param phone Phone number
     * @returns Validation result
     */
    static validatePhone(phone: string): ValidationResult;
    /**
     * Validate installment
     * @param installment Installment type
     * @returns Validation result
     */
    static validateInstallment(installment?: InstallmentType): ValidationResult;
    /**
     * Validate bank provider
     * @param provider Bank provider
     * @returns Validation result
     */
    static validateProvider(provider: BankProvider): ValidationResult;
    /**
     * Validate provider endpoints
     * @param endpoints Provider endpoints
     * @returns Validation result
     */
    static validateProviderEndpoints(endpoints: ProviderEndpoints): ValidationResult;
    /**
     * Validate complete Nestpay configuration
     * @param config Nestpay configuration
     * @returns Validation result
     */
    static validateConfig(config: NestpayConfig): ValidationResult;
    /**
     * Luhn algorithm implementation for credit card validation
     * @param cardNumber Credit card number
     * @returns True if valid according to Luhn algorithm
     */
    private static luhnCheck;
}
export {};
//# sourceMappingURL=validators.d.ts.map