import type { AbiItemType, AbiParameter } from 'abitype';
import { BaseError } from '../../Errors.js';
import type { Modifier } from './types/signatures.js';
export declare class InvalidAbiItemError extends BaseError {
    name: string;
    constructor({ signature }: {
        signature: string | object;
    });
}
export declare class UnknownTypeError extends BaseError {
    name: string;
    constructor({ type }: {
        type: string;
    });
}
export declare class UnknownSolidityTypeError extends BaseError {
    name: string;
    constructor({ type }: {
        type: string;
    });
}
export declare class InvalidAbiParameterError extends BaseError {
    name: string;
    constructor({ param }: {
        param: string | object;
    });
}
export declare class InvalidAbiParametersError extends BaseError {
    name: string;
    constructor({ params }: {
        params: string | object;
    });
}
export declare class InvalidParameterError extends BaseError {
    name: string;
    constructor({ param }: {
        param: string;
    });
}
export declare class SolidityProtectedKeywordError extends BaseError {
    name: string;
    constructor({ param, name }: {
        param: string;
        name: string;
    });
}
export declare class InvalidModifierError extends BaseError {
    name: string;
    constructor({ param, type, modifier, }: {
        param: string;
        type?: AbiItemType | 'struct' | undefined;
        modifier: Modifier;
    });
}
export declare class InvalidFunctionModifierError extends BaseError {
    name: string;
    constructor({ param, type, modifier, }: {
        param: string;
        type?: AbiItemType | 'struct' | undefined;
        modifier: Modifier;
    });
}
export declare class InvalidAbiTypeParameterError extends BaseError {
    name: string;
    constructor({ abiParameter, }: {
        abiParameter: AbiParameter & {
            indexed?: boolean | undefined;
        };
    });
}
export declare class InvalidSignatureError extends BaseError {
    name: string;
    constructor({ signature, type, }: {
        signature: string;
        type: AbiItemType | 'struct';
    });
}
export declare class UnknownSignatureError extends BaseError {
    name: string;
    constructor({ signature }: {
        signature: string;
    });
}
export declare class InvalidStructSignatureError extends BaseError {
    name: string;
    constructor({ signature }: {
        signature: string;
    });
}
export declare class InvalidParenthesisError extends BaseError {
    name: string;
    constructor({ current, depth }: {
        current: string;
        depth: number;
    });
}
export declare class CircularReferenceError extends BaseError {
    name: string;
    constructor({ type }: {
        type: string;
    });
}
//# sourceMappingURL=errors.d.ts.map