import type { TokenDto, ValidatorDto, YieldDto } from "@stakekit/api-hooks";
import BigNumber from "bignumber.js";
import { Maybe } from "purify-ts";
import { type NumberInputProps } from "../../../components/atoms/number-input";
type AmountBlockProps = {
    onAmountChange: NumberInputProps["onChange"];
    value: NumberInputProps["value"];
    canChangeAmount: boolean;
    disabled?: boolean;
    onClick: () => void;
    unstakeAmountError?: boolean;
    onMaxClick: (() => void) | null;
    label: string;
    formattedAmount: string;
    balance: {
        amount: BigNumber;
        token: TokenDto;
    } | null;
} & ({
    variant: "unstake";
    unstakeToken: TokenDto;
    yieldDto: YieldDto;
    validators: {
        [Key in keyof Pick<ValidatorDto, "name" | "address">]?: ValidatorDto[Key];
    }[];
    canUnstake: boolean;
    unstakeIsGreaterOrLessIntegrationLimitError: boolean;
    unstakeMaxAmount: Maybe<number>;
    unstakeMinAmount: Maybe<number>;
} | {
    variant: "action";
});
export declare const AmountBlock: ({ onAmountChange, value, canChangeAmount, disabled, onClick, label, formattedAmount, onMaxClick, balance, unstakeAmountError, ...rest }: AmountBlockProps) => import("react/jsx-runtime").JSX.Element;
export {};
