/// <reference types="react" />
import { Position } from '../types';
export declare function useHederaExchangeRate(): import("react-query").UseQueryResult<import("src/utils/hedera").ExchangeRateResponse, unknown>;
/**
 * This hook return the rent value of a position
 * @param positionId The id of position
 * Returns rent value in tiny bars
 */
export declare function useHederaSarRent(position: Position | undefined | null): string | undefined;
/**
 *
 * @param positionId Id of a Position
 * @returns Return some utils functions for stake more or create a new Position
 */
export declare function useDerivativeHederaSarStake(position?: Position | null): {
    attempting: boolean;
    typedValue: string;
    parsedAmount: import("@envanik/sdk").CurrencyAmount | undefined;
    hash: string | null;
    stepIndex: number;
    dollerWorth: number | undefined;
    error: string | undefined;
    approval: import("../../..").TransactionApprovalState;
    account: string | null | undefined;
    png: import("@envanik/sdk").Token;
    stakeError: string | null;
    onAttemptToApprove: () => Promise<void>;
    onUserInput: (_typedValue: string) => void;
    wrappedOnDismiss: () => void;
    handleMax: () => void;
    onStake: () => Promise<void>;
    onChangePercentage: (value: number) => void;
    setStepIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
};
/**
 *
 * @param position Id of a Posttion
 * @returns Return some utils functions for unstake
 */
export declare function useDerivativeHederaSarUnstake(position: Position | null): {
    attempting: boolean;
    hash: string | null;
    stepIndex: number;
    typedValue: string;
    parsedAmount: import("@envanik/sdk").CurrencyAmount | undefined;
    error: string | undefined;
    unstakeError: string | null;
    onUserInput: (_typedValue: string) => void;
    wrappedOnDismiss: () => void;
    handleMax: () => void;
    onUnstake: () => Promise<void>;
    onChangePercentage: (value: number) => void;
    setStepIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
};
export declare function useDerivativeHederaSarCompound(position: Position | null): {
    attempting: boolean;
    hash: string | null;
    compoundError: string | null;
    wrappedOnDismiss: () => void;
    onCompound: () => Promise<void>;
};
export declare function useDerivativeHederaSarClaim(position: Position | null): {
    attempting: boolean;
    hash: string | null;
    claimError: string | null;
    wrappedOnDismiss: () => void;
    onClaim: () => Promise<void>;
};
/**
 * This hook return a list of id of an account
 * @returns Return an objetct with nfts id in hex string (0x1, 0x2, 0x3, ...) and nfts uris
 */
export declare function useHederaSarNftsIds(): {
    data: {
        nftsIndexes: string[][];
        nftsURIs: (string | undefined)[];
    } | undefined;
    isLoading: boolean;
    isRefetching: boolean;
};
/**
 * This hooks get the user positions from SAR Single Stake via contract calls
 * @returns Return if is loading and an array with alls positions of an user
 */
export declare function useHederaSarPositionsViaContract(): {
    positions: Position[];
    isLoading: boolean;
};
/**
 * This hooks get the user positions from SAR Single Stake via subgraph
 * @returns Return if is loading and an array with alls positions of an user
 */
export declare function useHederaSarPositionsViaSubgraph(): {
    positions: Position[];
    isLoading: boolean;
};
export declare function useHederaSarPositions(): {
    positions: Position[];
    isLoading: boolean;
};
