import type { ActionDto, PendingActionDto, TokenDto, TransactionDto, TransactionStatus, TransactionType, YieldDto } from "@stakekit/api-hooks";
import BigNumber from "bignumber.js";
import type { Prices, TokenString } from "./types";
export declare const tokenString: (token: TokenDto) => TokenString;
export declare const equalTokens: (a: TokenDto, b: TokenDto) => boolean;
export declare const getTokenPriceInUSD: ({ token, baseToken, amount, prices, pricePerShare, }: {
    token: TokenDto;
    baseToken: TokenDto | null;
    amount: string | BigNumber;
    pricePerShare: string | null;
    prices: Prices;
}) => BigNumber;
export declare const stakeTokenSameAsGasToken: ({ stakeToken, yieldDto, }: {
    stakeToken: TokenDto;
    yieldDto: YieldDto;
}) => boolean;
export declare const getMaxAmount: ({ availableAmount, gasEstimateTotal, integrationMaxLimit, }: {
    availableAmount: BigNumber;
    gasEstimateTotal: BigNumber;
    integrationMaxLimit: BigNumber;
}) => BigNumber;
export declare const getBaseToken: (yieldDto: YieldDto) => TokenDto;
export declare const getGasFeeToken: (yieldDto: YieldDto) => TokenDto;
/**
 *
 * @summary Get stake transactions available for signing or tx status check.
 * If any of the transactions are in a failed state, return an error
 */
export declare const getValidStakeSessionTx: (stakeDto: ActionDto) => import("purify-ts").Either<Error, never> | import("purify-ts").Either<never, ActionDto>;
export declare const isTxError: (txStatus: TransactionStatus) => boolean;
export declare const PAMultiValidatorsRequired: (pa: PendingActionDto) => boolean;
export declare const PASingleValidatorRequired: (pa: PendingActionDto) => boolean;
export declare const getTransactionsTotalGasAmount: (txs: TransactionDto[]) => BigNumber;
export declare const transactionsForConstructOnlySet: Set<TransactionType>;
export declare const getTransactionsForMultiSign: (txs: TransactionDto[]) => TransactionDto[];
export declare const skNormalizeChainId: (chainId: string) => number;
