import { EIP712TypedData } from "../types/index.js";
/**
 * Utility class for EIP-712 validation and compliance checks
 * Provides centralized validation logic for typed data signing
 */
export declare class EIP712Validator {
    /**
     * Validates the basic structure of EIP-712 typed data
     * @param data The typed data to validate
     * @throws AdapterError if structure is invalid
     */
    static validateStructure(data: EIP712TypedData): void;
    /**
     * Validates the EIP-712 domain against the current network
     * @param domain The domain object from typed data
     * @param currentChainId The current network's chain ID
     * @throws AdapterError if domain is invalid or doesn't match network
     */
    static validateDomain(domain: any, currentChainId: string): void;
    /**
     * Validates the types structure of EIP-712 typed data
     * @param types The types object from typed data
     * @throws AdapterError if types structure is invalid
     */
    static validateTypes(types: Record<string, Array<{
        name: string;
        type: string;
    }>>): void;
    /**
     * Validates if a type string conforms to EIP-712 standards
     * @param type The type string to validate
     * @returns true if the type is valid, false otherwise
     */
    static isValidEIP712Type(type: string): boolean;
    /**
     * Performs comprehensive EIP-712 validation
     * @param data The typed data to validate
     * @param currentChainId The current network's chain ID
     * @throws AdapterError if any validation fails
     */
    static validateAll(data: EIP712TypedData, currentChainId: string): void;
    /**
     * Verifies a signature immediately after signing for additional security
     * @param data The typed data that was signed
     * @param signature The signature to verify
     * @param expectedAddress The expected signer address
     * @returns true if signature is valid, false otherwise
     */
    static verifySignature(data: EIP712TypedData, signature: string, expectedAddress: string): boolean;
    /**
     * Validates signature format for EIP-712
     * @param signature The signature to validate
     * @returns true if format is valid, false otherwise
     */
    static isValidSignatureFormat(signature: string): boolean;
}
//# sourceMappingURL=signatures.d.ts.map