import { type YieldFindValidatorsParams } from "@sk-widget/common/private-api";
import type { ValidatorDto, ValidatorSearchResultDto, YieldBalanceDto, YieldBalanceLabelDto, YieldBalancesWithIntegrationIdDto } from "@stakekit/api-hooks";
import { Maybe } from "purify-ts";
export declare const usePositions: () => {
    positionsData: {
        data: ({
            integrationId: YieldBalancesWithIntegrationIdDto["integrationId"];
            balancesWithAmount: YieldBalanceDto[];
            allBalances: YieldBalanceDto[];
            balanceId: YieldBalanceDto["groupId"];
            actionRequired: boolean;
            amount: string;
            pointsRewardTokenBalance: Maybe<YieldBalanceDto>;
            hasPendingClaimRewards: boolean;
            token: Maybe<YieldBalanceDto["token"]>;
            yieldLabelDto: Maybe<YieldBalanceLabelDto>;
        } & ({
            type: "validators";
            validatorsAddresses: string[];
        } | {
            type: "default";
        }))[];
        error: Error;
        isError: true;
        isPending: false;
        isLoading: false;
        isLoadingError: false;
        isRefetchError: true;
        isSuccess: false;
        isPlaceholderData: false;
        status: "error";
        dataUpdatedAt: number;
        errorUpdatedAt: number;
        failureCount: number;
        failureReason: Error | null;
        errorUpdateCount: number;
        isFetched: boolean;
        isFetchedAfterMount: boolean;
        isFetching: boolean;
        isInitialLoading: boolean;
        isPaused: boolean;
        isRefetching: boolean;
        isStale: boolean;
        refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("../../../../domain/types/positions").PositionsData, Error>>;
        fetchStatus: import("@tanstack/react-query").FetchStatus;
        promise: Promise<import("../../../../domain/types/positions").PositionsData>;
    } | {
        data: ({
            integrationId: YieldBalancesWithIntegrationIdDto["integrationId"];
            balancesWithAmount: YieldBalanceDto[];
            allBalances: YieldBalanceDto[];
            balanceId: YieldBalanceDto["groupId"];
            actionRequired: boolean;
            amount: string;
            pointsRewardTokenBalance: Maybe<YieldBalanceDto>;
            hasPendingClaimRewards: boolean;
            token: Maybe<YieldBalanceDto["token"]>;
            yieldLabelDto: Maybe<YieldBalanceLabelDto>;
        } & ({
            type: "validators";
            validatorsAddresses: string[];
        } | {
            type: "default";
        }))[];
        error: null;
        isError: false;
        isPending: false;
        isLoading: false;
        isLoadingError: false;
        isRefetchError: false;
        isSuccess: true;
        isPlaceholderData: false;
        status: "success";
        dataUpdatedAt: number;
        errorUpdatedAt: number;
        failureCount: number;
        failureReason: Error | null;
        errorUpdateCount: number;
        isFetched: boolean;
        isFetchedAfterMount: boolean;
        isFetching: boolean;
        isInitialLoading: boolean;
        isPaused: boolean;
        isRefetching: boolean;
        isStale: boolean;
        refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("../../../../domain/types/positions").PositionsData, Error>>;
        fetchStatus: import("@tanstack/react-query").FetchStatus;
        promise: Promise<import("../../../../domain/types/positions").PositionsData>;
    } | {
        data: ({
            integrationId: YieldBalancesWithIntegrationIdDto["integrationId"];
            balancesWithAmount: YieldBalanceDto[];
            allBalances: YieldBalanceDto[];
            balanceId: YieldBalanceDto["groupId"];
            actionRequired: boolean;
            amount: string;
            pointsRewardTokenBalance: Maybe<YieldBalanceDto>;
            hasPendingClaimRewards: boolean;
            token: Maybe<YieldBalanceDto["token"]>;
            yieldLabelDto: Maybe<YieldBalanceLabelDto>;
        } & ({
            type: "validators";
            validatorsAddresses: string[];
        } | {
            type: "default";
        }))[];
        error: Error;
        isError: true;
        isPending: false;
        isLoading: false;
        isLoadingError: true;
        isRefetchError: false;
        isSuccess: false;
        isPlaceholderData: false;
        status: "error";
        dataUpdatedAt: number;
        errorUpdatedAt: number;
        failureCount: number;
        failureReason: Error | null;
        errorUpdateCount: number;
        isFetched: boolean;
        isFetchedAfterMount: boolean;
        isFetching: boolean;
        isInitialLoading: boolean;
        isPaused: boolean;
        isRefetching: boolean;
        isStale: boolean;
        refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("../../../../domain/types/positions").PositionsData, Error>>;
        fetchStatus: import("@tanstack/react-query").FetchStatus;
        promise: Promise<import("../../../../domain/types/positions").PositionsData>;
    } | {
        data: ({
            integrationId: YieldBalancesWithIntegrationIdDto["integrationId"];
            balancesWithAmount: YieldBalanceDto[];
            allBalances: YieldBalanceDto[];
            balanceId: YieldBalanceDto["groupId"];
            actionRequired: boolean;
            amount: string;
            pointsRewardTokenBalance: Maybe<YieldBalanceDto>;
            hasPendingClaimRewards: boolean;
            token: Maybe<YieldBalanceDto["token"]>;
            yieldLabelDto: Maybe<YieldBalanceLabelDto>;
        } & ({
            type: "validators";
            validatorsAddresses: string[];
        } | {
            type: "default";
        }))[];
        error: null;
        isError: false;
        isPending: true;
        isLoading: true;
        isLoadingError: false;
        isRefetchError: false;
        isSuccess: false;
        isPlaceholderData: false;
        status: "pending";
        dataUpdatedAt: number;
        errorUpdatedAt: number;
        failureCount: number;
        failureReason: Error | null;
        errorUpdateCount: number;
        isFetched: boolean;
        isFetchedAfterMount: boolean;
        isFetching: boolean;
        isInitialLoading: boolean;
        isPaused: boolean;
        isRefetching: boolean;
        isStale: boolean;
        refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("../../../../domain/types/positions").PositionsData, Error>>;
        fetchStatus: import("@tanstack/react-query").FetchStatus;
        promise: Promise<import("../../../../domain/types/positions").PositionsData>;
    } | {
        data: ({
            integrationId: YieldBalancesWithIntegrationIdDto["integrationId"];
            balancesWithAmount: YieldBalanceDto[];
            allBalances: YieldBalanceDto[];
            balanceId: YieldBalanceDto["groupId"];
            actionRequired: boolean;
            amount: string;
            pointsRewardTokenBalance: Maybe<YieldBalanceDto>;
            hasPendingClaimRewards: boolean;
            token: Maybe<YieldBalanceDto["token"]>;
            yieldLabelDto: Maybe<YieldBalanceLabelDto>;
        } & ({
            type: "validators";
            validatorsAddresses: string[];
        } | {
            type: "default";
        }))[];
        error: null;
        isError: false;
        isPending: true;
        isLoadingError: false;
        isRefetchError: false;
        isSuccess: false;
        isPlaceholderData: false;
        status: "pending";
        dataUpdatedAt: number;
        errorUpdatedAt: number;
        failureCount: number;
        failureReason: Error | null;
        errorUpdateCount: number;
        isFetched: boolean;
        isFetchedAfterMount: boolean;
        isFetching: boolean;
        isLoading: boolean;
        isInitialLoading: boolean;
        isPaused: boolean;
        isRefetching: boolean;
        isStale: boolean;
        refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("../../../../domain/types/positions").PositionsData, Error>>;
        fetchStatus: import("@tanstack/react-query").FetchStatus;
        promise: Promise<import("../../../../domain/types/positions").PositionsData>;
    } | {
        data: ({
            integrationId: YieldBalancesWithIntegrationIdDto["integrationId"];
            balancesWithAmount: YieldBalanceDto[];
            allBalances: YieldBalanceDto[];
            balanceId: YieldBalanceDto["groupId"];
            actionRequired: boolean;
            amount: string;
            pointsRewardTokenBalance: Maybe<YieldBalanceDto>;
            hasPendingClaimRewards: boolean;
            token: Maybe<YieldBalanceDto["token"]>;
            yieldLabelDto: Maybe<YieldBalanceLabelDto>;
        } & ({
            type: "validators";
            validatorsAddresses: string[];
        } | {
            type: "default";
        }))[];
        isError: false;
        error: null;
        isPending: false;
        isLoading: false;
        isLoadingError: false;
        isRefetchError: false;
        isSuccess: true;
        isPlaceholderData: true;
        status: "success";
        dataUpdatedAt: number;
        errorUpdatedAt: number;
        failureCount: number;
        failureReason: Error | null;
        errorUpdateCount: number;
        isFetched: boolean;
        isFetchedAfterMount: boolean;
        isFetching: boolean;
        isInitialLoading: boolean;
        isPaused: boolean;
        isRefetching: boolean;
        isStale: boolean;
        refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("../../../../domain/types/positions").PositionsData, Error>>;
        fetchStatus: import("@tanstack/react-query").FetchStatus;
        promise: Promise<import("../../../../domain/types/positions").PositionsData>;
    };
    listData: ("header" | ({
        integrationId: YieldBalancesWithIntegrationIdDto["integrationId"];
        balancesWithAmount: YieldBalanceDto[];
        allBalances: YieldBalanceDto[];
        balanceId: YieldBalanceDto["groupId"];
        actionRequired: boolean;
        amount: string;
        pointsRewardTokenBalance: Maybe<YieldBalanceDto>;
        hasPendingClaimRewards: boolean;
        token: Maybe<YieldBalanceDto["token"]>;
        yieldLabelDto: Maybe<YieldBalanceLabelDto>;
    } & ({
        type: "validators";
        validatorsAddresses: string[];
    } | {
        type: "default";
    })))[];
    importValidators: {
        foundValidatorsData: import("purify-ts/Maybe").Maybe<{
            integrationId: ValidatorSearchResultDto["integrationId"];
            validator: ValidatorDto;
        }[]>;
        onValidatorAddressOrNameChange: (validatorAddress: string) => void;
        isLoading: boolean;
        errorMessage: string | undefined;
        onClose: () => void;
        onImportValidatorImport: (val: {
            integrationId: ValidatorSearchResultDto["integrationId"];
            validator: ValidatorDto;
        }) => void;
    };
    showPositions: boolean;
};
export declare const getYieldFindValidatorsQueryKey: (params?: YieldFindValidatorsParams) => readonly ["/v1/yields/validators", ...YieldFindValidatorsParams[]];
