import { BaseError, type Address } from "@aa-sdk/core"; import type { Permission } from "./permissionBuilder"; export declare abstract class PermissionBuilderError extends BaseError { } export declare class RootPermissionOnlyError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating that an account could not be found to execute the specified action. * * @param {Permission} permission The permission trying to be added atop the root permission */ constructor(permission: Permission); } export declare class AccountAddressAsTargetError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating that account address is used as target. * * @param {Permission} permission The permission with account address as target */ constructor(permission: Permission); } export declare class DuplicateTargetAddressError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating duplicate target address in permissions. * * @param {Permission} permission The permission with duplicate target address * @param {Address} targetAddress The duplicate target address */ constructor(permission: Permission, targetAddress: Address); } export declare class NoFunctionsProvidedError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating no functions were provided. * * @param {Permission} permission The permission missing functions */ constructor(permission: Permission); } export declare class ExpiredDeadlineError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating the deadline has expired. * * @param {number} deadline The expired deadline timestamp * @param {number} currentTime The current timestamp */ constructor(deadline: number, currentTime: number); } export declare class DeadlineOverLimitError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating the deadline has expired. * * @param {number} deadline The expired deadline timestamp */ constructor(deadline: number); } export declare class ValidationConfigUnsetError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating the validation config is unset. */ constructor(); } export declare class MultipleNativeTokenTransferError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating multiple native token transfer permissions. * * @param {Permission} permission The duplicate native token transfer permission */ constructor(permission: Permission); } export declare class ZeroAddressError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating zero address was provided. * * @param {Permission} permission The permission with zero address */ constructor(permission: Permission); } export declare class MultipleGasLimitError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating multiple gas limit permissions. * * @param {Permission} permission The duplicate gas limit permission */ constructor(permission: Permission); } export declare class UnsupportedPermissionTypeError extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating an unsupported permission type. */ constructor(); } export declare class SelectorNotAllowed extends PermissionBuilderError { name: string; /** * Constructor for initializing an error message indicating that the selector being added is not allowed. * * @param {string} functionName The function name of the selector that is being added. */ constructor(functionName: string); }