import { BcsType } from "@mysten/sui/bcs";
import { SuiFrensApiCasting } from "../../packages/suiFrens/api/suiFrensApiCasting";
import { FaucetApiCasting } from "../../packages/faucet/api/faucetApiCasting";
import { NftAmmApiCasting } from "../../packages/nftAmm/api/nftAmmApiCasting";
import { PoolsApiCasting } from "../../packages/pools/api/poolsApiCasting";
import { StakingApiCasting } from "../../packages/staking/api/stakingApiCasting";
import { Byte, Percentage, SuiAddress } from "../types";
import { RouterApiCasting } from "../../packages/router/api/routerApiCasting";
import { FixedUtils } from "./fixedUtils";
import { IFixedUtils } from "./iFixedUtils";
import { PerpetualsApiCasting } from "../../packages/perpetuals/api/perpetualsApiCasting";
import { FarmsApiCasting } from "../../packages/farms/api/farmsApiCasting";
import { LeveragedStakingApiCasting } from "../../packages/leveragedStaking/api/leveragedStakingApiCasting";
import { SuiObjectResponse } from "@mysten/sui/client";
import { NftsApiCasting } from "../nfts/nftsApiCasting";
import { DcaApiCasting } from "../../packages/dca/api/dcaApiCasting";
/**
 * Utility class for casting and conversion functions.
 * @class
 */
export declare class Casting {
    static pools: typeof PoolsApiCasting;
    static suiFrens: typeof SuiFrensApiCasting;
    static faucet: typeof FaucetApiCasting;
    static staking: typeof StakingApiCasting;
    static leveragedStaking: typeof LeveragedStakingApiCasting;
    static nftAmm: typeof NftAmmApiCasting;
    static router: typeof RouterApiCasting;
    static perpetuals: typeof PerpetualsApiCasting;
    static farms: typeof FarmsApiCasting;
    static nfts: typeof NftsApiCasting;
    static dca: typeof DcaApiCasting;
    static Fixed: typeof FixedUtils;
    static IFixed: typeof IFixedUtils;
    static u64MaxBigInt: bigint;
    static numberToFixedBigInt: (a: number) => bigint;
    static bigIntToFixedNumber: (a: bigint) => number;
    static scaleNumberByBigInt: (scalar: number, int: bigint) => bigint;
    static percentageToBps(percentage: Percentage): bigint;
    static bpsToPercentage(bps: bigint): Percentage;
    static stringFromBytes: (bytes: Byte[]) => string;
    static bigIntFromBytes: (bytes: Byte[]) => bigint;
    static addressFromBcsBytes: (bytes: Byte[]) => SuiAddress;
    static addressFromBytes: (bytes: Byte[]) => SuiAddress;
    static addressFromStringBytes: (bytes: string[]) => SuiAddress;
    static bytesFromStringBytes: (bytes: string[]) => Byte[];
    static unwrapDeserializedOption: (deserializedData: any) => any | undefined;
    static u8VectorFromString: (str: string) => number[];
    static normalizeSlippageTolerance: (slippageTolerance: number) => number;
    static castObjectBcs: <T, U>(inputs: {
        suiObjectResponse: SuiObjectResponse;
        bcsType: BcsType<U, U>;
        fromDeserialized: (deserialized: any) => T;
    }) => T;
    static bcsBytesFromSuiObjectResponse(suiObjectResponse: SuiObjectResponse): string;
}
//# sourceMappingURL=casting.d.ts.map