import { Decoded } from './api/open-api/_types';
export declare type APIError = Decoded.TransactionBuildError;
export declare type WalletError = ErrorT<'wallet'>;
export declare type NodeError = ErrorT<'node'>;
export declare type ErrorT<T extends 'api' | 'node' | 'wallet'> = {
    cause: T extends 'api' ? APIErrorCause : T extends 'node' ? NodeErrorCause : T extends 'wallet' ? WalletErrorCause : unknown;
    category: T extends 'api' ? ErrorCategory.API : T extends 'node' ? ErrorCategory.NODE : T extends 'wallet' ? ErrorCategory.WALLET : unknown;
    message: string | undefined;
};
export declare enum ErrorCategory {
    NODE = "node",
    WALLET = "wallet",
    API = "api"
}
export declare enum WalletErrorCause {
    LOAD_KEYSTORE_FAILED = "LOAD_KEYSTORE_FAILED"
}
export declare enum NodeErrorCause {
    GET_NODE_FAILED = "GET_NODE_FAILED"
}
export declare type APIErrorObject = {
    code: number;
    message: string;
};
export declare enum APIErrorCause {
    TOKEN_BALANCES_FAILED = "TOKEN_BALANCES_FAILED",
    TRANSACTION_HISTORY_FAILED = "TRANSACTION_HISTORY_FAILED",
    RECENT_TRANSACTIONS_FAILED = "RECENT_TRANSACTIONS_FAILED",
    NATIVE_TOKEN_FAILED = "NATIVE_TOKEN_FAILED",
    TOKEN_INFO_FAILED = "TOKEN_INFO_FAILED",
    STAKES_FOR_ADDRESS_FAILED = "STAKES_FOR_ADDRESS_FAILED",
    UNSTAKES_FOR_ADDRESS_FAILED = "UNSTAKES_FOR_ADDRESS_FAILED",
    TX_STATUS_FAILED = "TX_STATUS_FAILED",
    NETWORK_TX_THROUGHPUT_FAILED = "NETWORK_TX_THROUGHPUT_FAILED",
    NETWORK_TX_DEMAND_FAILED = "NETWORK_TX_DEMAND_FAILED",
    LOOKUP_TX_FAILED = "LOOKUP_TX_FAILED",
    LOOKUP_VALIDATOR_FAILED = "LOOKUP_VALIDATOR_FAILED",
    VALIDATORS_FAILED = "VALIDATORS_FAILED",
    BUILD_TRANSACTION_FAILED = "BUILD_TRANSACTION_FAILED",
    SUBMIT_SIGNED_TX_FAILED = "SUBMIT_SIGNED_TX_FAILED",
    FINALIZE_TX_FAILED = "FINALIZE_TX_FAILED",
    NETWORK_ID_FAILED = "NETWORK_ID_FAILED"
}
declare const APIError: (cause: APIErrorCause) => (error: any) => APIError;
export declare const nodeError: (error: Error) => ErrorT<'node'>;
export declare const walletError: (error: Error) => ErrorT<'wallet'>;
export declare const tokenBalancesErr: (error: any) => APIError;
export declare const transactionHistoryErr: (error: any) => APIError;
export declare const recentTransactionsErr: (error: any) => APIError;
export declare const nativeTokenErr: (error: any) => APIError;
export declare const tokenInfoErr: (error: any) => APIError;
export declare const stakesForAddressErr: (error: any) => APIError;
export declare const unstakesForAddressErr: (error: any) => APIError;
export declare const txStatusErr: (error: any) => APIError;
export declare const NetworkTxThroughputErr: (error: any) => APIError;
export declare const NetworkTxDemandErr: (error: any) => APIError;
export declare const buildTxFromIntentErr: (error: APIErrorObject) => APIError;
export declare const submitSignedTxErr: (error: any) => APIError;
export declare const finalizeTxErr: (error: any) => APIError;
export declare const networkIdErr: (error: any) => APIError;
export declare const lookupTxErr: (error: any) => APIError;
export declare const lookupValidatorErr: (error: any) => APIError;
export declare const validatorsErr: (error: any) => APIError;
export {};
//# sourceMappingURL=errors.d.ts.map