/**
 * Base error class for the library
 */
export declare class BaseError extends Error {
    code: string;
    statusCode?: number | undefined;
    details?: Record<string, unknown> | undefined;
    constructor(message: string, code: string, statusCode?: number | undefined, details?: Record<string, unknown> | undefined);
}
/**
 * Input validation errors
 */
export declare class ValidationError extends BaseError {
    constructor(message: string, details?: Record<string, unknown>);
    static invalidComponentAddress(address: any): ValidationError;
    static invalidNftId(id: any): ValidationError;
    static invalidNftIds(): ValidationError;
    static invalidStateVersion(version: any): ValidationError;
    static invalidPriceBounds(): ValidationError;
    static invalidMiddlePrice(): ValidationError;
}
/**
 * Network-related errors
 */
export declare class NetworkError extends BaseError {
    constructor(message: string, statusCode?: number, details?: Record<string, unknown>);
    static requestFailed(message: string, statusCode?: number): NetworkError;
    static timeout(operation: string): NetworkError;
}
/**
 * Data-related errors
 */
export declare class DataError extends BaseError {
    constructor(message: string, details?: Record<string, unknown>);
    static notFound(type: string, id: string): DataError;
    static invalidFormat(type: string, details?: Record<string, unknown>): DataError;
    static stateVersionTooHigh(version: number): DataError;
    static missingData(type: string, field: string): DataError;
}
/**
 * Component-specific errors
 */
export declare class ComponentError extends BaseError {
    constructor(message: string, details?: Record<string, unknown>);
    static notC9Component(address: string): ComponentError;
    static invalidState(address: string, details?: Record<string, unknown>): ComponentError;
    static missingField(address: string, field: string): ComponentError;
}
/**
 * NFT-related errors
 */
export declare class NFTError extends BaseError {
    constructor(message: string, details?: Record<string, unknown>);
    static invalidClaims(nftId: string): NFTError;
    static notFound(nftId: string): NFTError;
}
