import type { ActionDto, PendingActionDto, TokenDto, TransactionStatus, YieldDto } from "@stakekit/api-hooks";
import BigNumber from "bignumber.js";
import { type Maybe } from "purify-ts";
import type { TokenString } from "./types/tokens";
export { getTokenPriceInUSD } from "./types/price";
export declare const tokenString: (token: TokenDto) => TokenString;
export declare const equalTokens: (a: TokenDto, b: TokenDto) => boolean;
export declare const stakeTokenSameAsGasToken: ({ stakeToken, yieldDto, }: {
    stakeToken: TokenDto;
    yieldDto: YieldDto;
}) => boolean;
export declare const getMaxAmount: ({ availableAmount, gasEstimateTotal, integrationMaxLimit, }: {
    availableAmount: BigNumber;
    gasEstimateTotal: BigNumber;
    integrationMaxLimit: Maybe<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) => txStatus is "BLOCKED" | "FAILED";
export declare const PAMultiValidatorsRequired: (pa: PendingActionDto) => boolean;
export declare const PASingleValidatorRequired: (pa: PendingActionDto) => boolean;
export declare const skNormalizeChainId: (chainId: string) => number;
