//#region src/client/types/liquidityProvision.d.ts
declare const LiquidityProvisionType: {
  /**
   * Create new pool (requires both token amounts)
   */
  readonly Initial: "Initial";
  /**
   * Add to existing pool at current ratio (auto-calculates one token amount)
   */
  readonly Balanced: "Balanced";
  /**
   * Add liquidity in any ratio to existing pool (requires explicit amounts)
   */
  readonly Arbitrary: "Arbitrary";
};
type LiquidityProvisionType = (typeof LiquidityProvisionType)[keyof typeof LiquidityProvisionType];
type LiquidityProvisionSimulationQuery = {
  tokenA: string;
  tokenB: string;
  /**
   * The maximum possible difference between the rates that we expect and which will actually be,
   * in fractions (for example, 0.001 is 0.1%)
   *
   * Recommended value is 0.01 (1%)
   */
  slippageTolerance: string;
  /**
   * User's wallet address for balance checks (optional).
   * When provided, returns current LP account balances if exists.
   */
  walletAddress?: string;
} & ({
  provisionType: Extract<LiquidityProvisionType, "Initial">;
  tokenAUnits: string;
  tokenBUnits: string;
} | {
  provisionType: Extract<LiquidityProvisionType, "Balanced">;
  poolAddress: string;
  tokenAUnits: string;
  tokenBUnits?: never;
} | {
  provisionType: Extract<LiquidityProvisionType, "Balanced">;
  poolAddress: string;
  tokenAUnits?: never;
  tokenBUnits: string;
} | {
  provisionType: Extract<LiquidityProvisionType, "Arbitrary">;
  poolAddress: string;
  tokenAUnits: string;
  tokenBUnits: string;
});
//#endregion
//#region src/client/types/asset.d.ts
declare const AssetKind: {
  readonly Ton: "Ton";
  readonly Wton: "Wton";
  readonly Jetton: "Jetton";
  readonly NotAnAsset: "NotAnAsset";
};
type AssetKind = keyof typeof AssetKind;
declare const AssetTag: {
  readonly Essential: "asset:essential";
  readonly Blacklisted: "asset:blacklisted";
  readonly Deprecated: "asset:deprecated";
  readonly DefaultSymbol: "asset:default_symbol";
  readonly LiquidityNo: "asset:liquidity:no";
  readonly LiquidityMedium: "asset:liquidity:medium";
  readonly LiquidityLow: "asset:liquidity:low";
  readonly LiquidityHigh: "asset:liquidity:high";
  readonly LiquidityVeryHigh: "asset:liquidity:very_high";
  readonly Popular: "asset:popular";
  readonly WalletHasBalance: "asset:wallet_has_balance";
  readonly WalletHasLiquidityInPool: "asset:wallet_has_liquidity_in_pool";
  readonly Taxable: "asset:taxable";
  readonly Scaled: "asset:scaled";
  readonly NonSearchable: "asset:non_searchable";
  readonly DmcaComplaint: "asset:dmca_complaint";
  readonly Honeypot: "asset:honeypot";
  readonly Suspicious: "asset:suspicious";
  readonly Fake: "asset:fake"; /** @deprecated use LiquidityNo instead */
  readonly NoLiquidity: "no_liquidity"; /** @deprecated use LiquidityLow instead */
  readonly LowLiquidity: "low_liquidity"; /** @deprecated use LiquidityHigh instead */
  readonly HighLiquidity: "high_liquidity";
};
type AssetTag = (typeof AssetTag)[keyof typeof AssetTag];
//#endregion
//#region src/client/types/operation.d.ts
declare const OperationType: {
  readonly Swap: "Swap";
  readonly SendLiquidity: "SendLiquidity";
  readonly RefundLiquidity: "RefundLiquidity";
  readonly AddLiquidity: "AddLiquidity";
  readonly WithdrawLiquidity: "WithdrawLiquidity";
  readonly SetFees: "SetFees";
  readonly CollectFees: "CollectFees";
  readonly ResetGas: "ResetGas";
};
type OperationType = (typeof OperationType)[keyof typeof OperationType];
//#endregion
//#region src/client/apiClient.d.ts
type StonApiClientOptions = {
  baseURL?: string; /** @deprecated use `baseURL` instead to better match `FetchOptions` */
  baseUrl?: string;
};
declare class StonApiClient {
  private readonly apiFetch;
  constructor(options?: StonApiClientOptions);
  getAsset(assetAddress: string): Promise<{
    balance?: string | undefined;
    blacklisted: boolean;
    community: boolean;
    contractAddress: string;
    decimals: number;
    defaultSymbol: boolean;
    deprecated: boolean;
    dexPriceUsd?: string | undefined;
    displayName?: string | undefined;
    imageUrl?: string | undefined;
    kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
    priority: number;
    symbol: string;
    thirdPartyPriceUsd?: string | undefined;
    walletAddress?: string | undefined;
    popularityIndex?: number | undefined;
    tags: AssetTag[];
    customPayloadApiUri?: string | undefined;
    scale?: string | undefined;
    extensions?: ("custom_payload" | "scaled-ui" | {
      readonly [x: number]: string;
      toString: {};
      charAt: {};
      charCodeAt: {};
      concat: {};
      indexOf: {};
      lastIndexOf: {};
      localeCompare: {};
      match: {};
      replace: {};
      search: {};
      slice: {};
      split: {};
      substring: {};
      toLowerCase: {};
      toLocaleLowerCase: {};
      toUpperCase: {};
      toLocaleUpperCase: {};
      trim: {};
      readonly length: number;
      substr: {};
      valueOf: {};
      codePointAt: {};
      includes: {};
      endsWith: {};
      normalize: {};
      repeat: {};
      startsWith: {};
      anchor: {};
      big: {};
      blink: {};
      bold: {};
      fixed: {};
      fontcolor: {};
      fontsize: {};
      italics: {};
      link: {};
      small: {};
      strike: {};
      sub: {};
      sup: {};
      padStart: {};
      padEnd: {};
      trimEnd: {};
      trimStart: {};
      trimLeft: {};
      trimRight: {};
      matchAll: {};
      replaceAll: {};
      at: {};
      isWellFormed: {};
      toWellFormed: {};
      [Symbol.iterator]: {};
    })[] | undefined;
  }>;
  getAssets(): Promise<{
    balance?: string | undefined;
    blacklisted: boolean;
    community: boolean;
    contractAddress: string;
    decimals: number;
    defaultSymbol: boolean;
    deprecated: boolean;
    dexPriceUsd?: string | undefined;
    displayName?: string | undefined;
    imageUrl?: string | undefined;
    kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
    priority: number;
    symbol: string;
    thirdPartyPriceUsd?: string | undefined;
    walletAddress?: string | undefined;
    popularityIndex?: number | undefined;
    tags: AssetTag[];
    customPayloadApiUri?: string | undefined;
    scale?: string | undefined;
    extensions?: ("custom_payload" | "scaled-ui" | {
      readonly [x: number]: string;
      toString: {};
      charAt: {};
      charCodeAt: {};
      concat: {};
      indexOf: {};
      lastIndexOf: {};
      localeCompare: {};
      match: {};
      replace: {};
      search: {};
      slice: {};
      split: {};
      substring: {};
      toLowerCase: {};
      toLocaleLowerCase: {};
      toUpperCase: {};
      toLocaleUpperCase: {};
      trim: {};
      readonly length: number;
      substr: {};
      valueOf: {};
      codePointAt: {};
      includes: {};
      endsWith: {};
      normalize: {};
      repeat: {};
      startsWith: {};
      anchor: {};
      big: {};
      blink: {};
      bold: {};
      fixed: {};
      fontcolor: {};
      fontsize: {};
      italics: {};
      link: {};
      small: {};
      strike: {};
      sub: {};
      sup: {};
      padStart: {};
      padEnd: {};
      trimEnd: {};
      trimStart: {};
      trimLeft: {};
      trimRight: {};
      matchAll: {};
      replaceAll: {};
      at: {};
      isWellFormed: {};
      toWellFormed: {};
      [Symbol.iterator]: {};
    })[] | undefined;
  }[]>;
  queryAssets(body: {
    /** Condition */condition: string;
    /**
     * Search terms (address or text)
     * @examples token names or symbols
     */
    searchTerms?: string[]; /** Unconditional assets */
    unconditionalAssets?: string[]; /** Wallet address */
    walletAddress?: string; /** Sort parameters in format ":asc|desc" */
    sortBy?: string[]; /** Limit number of pools in response */
    limit?: number;
  }): Promise<{
    contractAddress: string;
    kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
    balance?: string | undefined;
    dexPriceUsd?: string | undefined;
    meta?: {
      decimals?: number | undefined;
      symbol?: string | undefined;
      displayName?: string | undefined;
      imageUrl?: string | undefined;
      customPayloadApiUri?: string | undefined;
    } | undefined;
    pairPriority?: number | undefined;
    popularityIndex?: number | undefined;
    tags?: AssetTag[] | undefined;
    walletAddress?: string | undefined;
    scale?: string | undefined;
    extensions?: ("custom_payload" | "scaled-ui" | {
      readonly [x: number]: string;
      toString: {};
      charAt: {};
      charCodeAt: {};
      concat: {};
      indexOf: {};
      lastIndexOf: {};
      localeCompare: {};
      match: {};
      replace: {};
      search: {};
      slice: {};
      split: {};
      substring: {};
      toLowerCase: {};
      toLocaleLowerCase: {};
      toUpperCase: {};
      toLocaleUpperCase: {};
      trim: {};
      readonly length: number;
      substr: {};
      valueOf: {};
      codePointAt: {};
      includes: {};
      endsWith: {};
      normalize: {};
      repeat: {};
      startsWith: {};
      anchor: {};
      big: {};
      blink: {};
      bold: {};
      fixed: {};
      fontcolor: {};
      fontsize: {};
      italics: {};
      link: {};
      small: {};
      strike: {};
      sub: {};
      sup: {};
      padStart: {};
      padEnd: {};
      trimEnd: {};
      trimStart: {};
      trimLeft: {};
      trimRight: {};
      matchAll: {};
      replaceAll: {};
      at: {};
      isWellFormed: {};
      toWellFormed: {};
      [Symbol.iterator]: {};
    })[] | undefined;
  }[]>;
  /**
   * @deprecated use `queryAssets` method with `searchTerms` parameter instead
   */
  searchAssets(query: {
    searchString: string; /** Condition */
    condition: string; /** Wallet address */
    walletAddress?: string; /** Unconditional assets */
    unconditionalAssets?: string[]; /** Limit number of pools in response */
    limit?: number;
  }): Promise<{
    contractAddress: string;
    kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
    balance?: string | undefined;
    dexPriceUsd?: string | undefined;
    meta?: {
      decimals?: number | undefined;
      symbol?: string | undefined;
      displayName?: string | undefined;
      imageUrl?: string | undefined;
      customPayloadApiUri?: string | undefined;
    } | undefined;
    pairPriority?: number | undefined;
    popularityIndex?: number | undefined;
    tags?: AssetTag[] | undefined;
    walletAddress?: string | undefined;
    scale?: string | undefined;
    extensions?: ("custom_payload" | "scaled-ui" | {
      readonly [x: number]: string;
      toString: {};
      charAt: {};
      charCodeAt: {};
      concat: {};
      indexOf: {};
      lastIndexOf: {};
      localeCompare: {};
      match: {};
      replace: {};
      search: {};
      slice: {};
      split: {};
      substring: {};
      toLowerCase: {};
      toLocaleLowerCase: {};
      toUpperCase: {};
      toLocaleUpperCase: {};
      trim: {};
      readonly length: number;
      substr: {};
      valueOf: {};
      codePointAt: {};
      includes: {};
      endsWith: {};
      normalize: {};
      repeat: {};
      startsWith: {};
      anchor: {};
      big: {};
      blink: {};
      bold: {};
      fixed: {};
      fontcolor: {};
      fontsize: {};
      italics: {};
      link: {};
      small: {};
      strike: {};
      sub: {};
      sup: {};
      padStart: {};
      padEnd: {};
      trimEnd: {};
      trimStart: {};
      trimLeft: {};
      trimRight: {};
      matchAll: {};
      replaceAll: {};
      at: {};
      isWellFormed: {};
      toWellFormed: {};
      [Symbol.iterator]: {};
    })[] | undefined;
  }[]>;
  getFarm(farmAddress: string): Promise<{
    apy?: string | undefined;
    minStakeDurationS: string;
    minterAddress: string;
    version: string;
    nftInfos: {
      address: string;
      createTimestamp: string;
      minUnstakeTimestamp: string;
      nonclaimedRewards: string;
      rewards: {
        address: string;
        amount: string;
      }[];
      stakedTokens: string;
      status: string;
      unstakeTimestamp?: string | undefined;
    }[];
    poolAddress: string;
    rewards: {
      index: number;
      address?: string | undefined;
      status: string;
      adminFee: string;
      remainingRewards: string;
      rewardRate24H: string;
      estimatedEndTimestamp?: string | undefined;
      rewardsDistributed: boolean;
    }[];
    status: string;
    lockedTotalLp: string;
    lockedTotalLpUsd?: string | undefined;
    allRewardsDistributed: boolean;
    meta?: {
      image?: string | undefined;
      name?: string | undefined;
      description?: string | undefined;
      socialLinks?: string[] | undefined;
      marketplace?: string | undefined;
    } | undefined;
    ownerAddress?: string | undefined;
    custodianAddress: string;
    createTimestamp?: string | undefined;
  }>;
  getFarms(query?: {
    /**
     * If true farms for V2 pools will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
  }): Promise<{
    apy?: string | undefined;
    minStakeDurationS: string;
    minterAddress: string;
    version: string;
    nftInfos: {
      address: string;
      createTimestamp: string;
      minUnstakeTimestamp: string;
      nonclaimedRewards: string;
      rewards: {
        address: string;
        amount: string;
      }[];
      stakedTokens: string;
      status: string;
      unstakeTimestamp?: string | undefined;
    }[];
    poolAddress: string;
    rewards: {
      index: number;
      address?: string | undefined;
      status: string;
      adminFee: string;
      remainingRewards: string;
      rewardRate24H: string;
      estimatedEndTimestamp?: string | undefined;
      rewardsDistributed: boolean;
    }[];
    status: string;
    lockedTotalLp: string;
    lockedTotalLpUsd?: string | undefined;
    allRewardsDistributed: boolean;
    meta?: {
      image?: string | undefined;
      name?: string | undefined;
      description?: string | undefined;
      socialLinks?: string[] | undefined;
      marketplace?: string | undefined;
    } | undefined;
    ownerAddress?: string | undefined;
    custodianAddress: string;
    createTimestamp?: string | undefined;
  }[]>;
  getFarmsByPool(poolAddress: string): Promise<{
    apy?: string | undefined;
    minStakeDurationS: string;
    minterAddress: string;
    version: string;
    nftInfos: {
      address: string;
      createTimestamp: string;
      minUnstakeTimestamp: string;
      nonclaimedRewards: string;
      rewards: {
        address: string;
        amount: string;
      }[];
      stakedTokens: string;
      status: string;
      unstakeTimestamp?: string | undefined;
    }[];
    poolAddress: string;
    rewards: {
      index: number;
      address?: string | undefined;
      status: string;
      adminFee: string;
      remainingRewards: string;
      rewardRate24H: string;
      estimatedEndTimestamp?: string | undefined;
      rewardsDistributed: boolean;
    }[];
    status: string;
    lockedTotalLp: string;
    lockedTotalLpUsd?: string | undefined;
    allRewardsDistributed: boolean;
    meta?: {
      image?: string | undefined;
      name?: string | undefined;
      description?: string | undefined;
      socialLinks?: string[] | undefined;
      marketplace?: string | undefined;
    } | undefined;
    ownerAddress?: string | undefined;
    custodianAddress: string;
    createTimestamp?: string | undefined;
  }[]>;
  getSwapPairs(query?: {
    /**
     * If true V2 pool pairs will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
  }): Promise<[string, string][]>;
  getSwapStatus(query: {
    routerAddress: string;
    ownerAddress: string;
    queryId: string;
  }): Promise<{
    "@type": "NotFound";
  } | {
    "@type": "Found";
    address: string;
    balanceDeltas: string;
    coins: string;
    exitCode: string;
    logicalTime: string;
    queryId: string;
    txHash: string;
  }>;
  getPool(data: string | {
    poolAddress: string;
  }): Promise<{
    address: string;
    apy1D?: string | undefined;
    apy7D?: string | undefined;
    apy30D?: string | undefined;
    collectedToken0ProtocolFee: string;
    collectedToken1ProtocolFee: string;
    deprecated: boolean;
    lpAccountAddress?: string | undefined;
    lpBalance?: string | undefined;
    lpFee: string;
    lpPriceUsd?: string | undefined;
    lpTotalSupply: string;
    lpTotalSupplyUsd?: string | undefined;
    lpWalletAddress?: string | undefined;
    protocolFee: string;
    protocolFeeAddress: string;
    refFee: string;
    reserve0: string;
    reserve1: string;
    routerAddress: string;
    token0Address: string;
    token0Balance?: string | undefined;
    token1Address: string;
    token1Balance?: string | undefined;
    volume24HUsd?: string | undefined;
    amp?: string | undefined;
    rate?: string | undefined;
    w0?: string | undefined;
  }>;
  getPools(query?: {
    /**
     * If true V2 pools will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
  }): Promise<{
    address: string;
    apy1D?: string | undefined;
    apy7D?: string | undefined;
    apy30D?: string | undefined;
    collectedToken0ProtocolFee: string;
    collectedToken1ProtocolFee: string;
    deprecated: boolean;
    lpAccountAddress?: string | undefined;
    lpBalance?: string | undefined;
    lpFee: string;
    lpPriceUsd?: string | undefined;
    lpTotalSupply: string;
    lpTotalSupplyUsd?: string | undefined;
    lpWalletAddress?: string | undefined;
    protocolFee: string;
    protocolFeeAddress: string;
    refFee: string;
    reserve0: string;
    reserve1: string;
    routerAddress: string;
    token0Address: string;
    token0Balance?: string | undefined;
    token1Address: string;
    token1Balance?: string | undefined;
    volume24HUsd?: string | undefined;
    amp?: string | undefined;
    rate?: string | undefined;
    w0?: string | undefined;
  }[]>;
  getPoolsByAssetPair(query: {
    asset0Address: string;
    asset1Address: string;
  }): Promise<{
    address: string;
    apy1D?: string | undefined;
    apy7D?: string | undefined;
    apy30D?: string | undefined;
    collectedToken0ProtocolFee: string;
    collectedToken1ProtocolFee: string;
    deprecated: boolean;
    lpAccountAddress?: string | undefined;
    lpBalance?: string | undefined;
    lpFee: string;
    lpPriceUsd?: string | undefined;
    lpTotalSupply: string;
    lpTotalSupplyUsd?: string | undefined;
    lpWalletAddress?: string | undefined;
    protocolFee: string;
    protocolFeeAddress: string;
    refFee: string;
    reserve0: string;
    reserve1: string;
    routerAddress: string;
    token0Address: string;
    token0Balance?: string | undefined;
    token1Address: string;
    token1Balance?: string | undefined;
    volume24HUsd?: string | undefined;
    amp?: string | undefined;
    rate?: string | undefined;
    w0?: string | undefined;
  }[]>;
  queryPools({
    searchTerms: searchTerm,
    unconditionalAssets: unconditionalAsset,
    ...query
  }: {
    /** Condition */condition: string;
    /**
     * Search terms (address or text)
     * @examples pool address, token names or symbols
     */
    searchTerms?: string[]; /** Unconditional assets */
    unconditionalAssets?: string[]; /** Wallet address */
    walletAddress?: string; /** Sort parameters in format ":asc|desc" */
    sortBy?: string[]; /** Limit number of pools in response */
    limit?: number;
    /**
     * If true V2 pools will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
  }): Promise<{
    address: string;
    apy1D?: string | undefined;
    apy7D?: string | undefined;
    apy30D?: string | undefined;
    collectedToken0ProtocolFee: string;
    collectedToken1ProtocolFee: string;
    deprecated: boolean;
    lpAccountAddress?: string | undefined;
    lpBalance?: string | undefined;
    lpFee: string;
    lpPriceUsd?: string | undefined;
    lpTotalSupply: string;
    lpTotalSupplyUsd?: string | undefined;
    lpWalletAddress?: string | undefined;
    protocolFee: string;
    protocolFeeAddress: string;
    refFee: string;
    reserve0: string;
    reserve1: string;
    routerAddress: string;
    token0Address: string;
    token0Balance?: string | undefined;
    token1Address: string;
    token1Balance?: string | undefined;
    volume24HUsd?: string | undefined;
    amp?: string | undefined;
    rate?: string | undefined;
    w0?: string | undefined;
  }[]>;
  queryTransactions(query: ({
    /** Wallet address */walletAddress: string; /** Query id */
    queryId: number;
    extMsgHash?: never;
  } | {
    walletAddress?: never;
    queryId?: never; /** External message hash */
    extMsgHash: string;
  }) & {
    /**
     * Min transaction timestamp (can't be earlier than 24 hours from now)
     *
     * @default 10 minutes from now
     */
    minTxTimestamp?: Date;
  }): Promise<{
    txId?: {
      lt: number;
      hash: string;
      contractAddress?: string | undefined;
    } | undefined;
    walletSeqno?: number | undefined;
  }>;
  simulateSwap({
    offerUnits: units,
    ...query
  }: {
    /** The address of the token we want to sell */offerAddress: string; /** Number of token units we want to sell */
    offerUnits: string; /** The address of the token we want to buy */
    askAddress: string;
    /**
     * The maximum possible difference between the rates that we expect and which will actually be,
     * in fractions (for example, 0.001 is 0.1%)
     *
     * Recommended value is 0.01 (1%)
     */
    slippageTolerance: string;
    /**
     * Referral address
     *
     * @default undefined
     */
    referralAddress?: string;
    /**
     * Referral fee in base points
     *
     * Applies only for dex v2, for v1 is always 10 (0.1%)
     * Applies only if `referralAddress` is set
     * Should be in range [0, 100] BPS
     *
     * @default undefined
     */
    referralFeeBps?: string;
    /**
     * If true V2 pools might be selected for the swap.
     *
     * @default true
     */
    dexV2?: boolean;
    /**
     * Allows to restrict exact DEX version (or multiple) to be used for the swap.
     *
     * @default undefined
     */
    dexVersion?: Array<"1" | 1 | "2" | 2>;
    /**
     * Pool address
     *
     * @default undefined
     */
    poolAddress?: string;
  }): Promise<{
    askAddress: string;
    askJettonWallet: string;
    askUnits: string;
    feeAddress: string;
    feePercent: string;
    feeUnits: string;
    minAskUnits: string;
    offerAddress: string;
    offerJettonWallet: string;
    offerUnits: string;
    poolAddress: string;
    priceImpact: string;
    routerAddress: string;
    router: {
      address: string;
      majorVersion: number;
      minorVersion: number;
      ptonMasterAddress: string;
      ptonVersion: string;
      ptonWalletAddress: string;
      routerType: string;
      poolCreationEnabled: boolean;
    };
    slippageTolerance: string;
    swapRate: string;
    recommendedSlippageTolerance: string;
    recommendedMinAskUnits: string;
    gasParams: {
      gasBudget?: string | undefined;
      forwardGas: string;
      estimatedGasConsumption: string;
    };
  }>;
  simulateReverseSwap({
    askUnits: units,
    ...query
  }: {
    /** The address of the token we want to sell */offerAddress: string; /** The address of the token we want to buy */
    askAddress: string; /** Number of token units we want to buy */
    askUnits: string;
    /**
     * The maximum possible difference between the rates that we expect and which will actually be,
     * in fractions (for example, 0.001 is 0.1%)
     *
     * Recommended value is 0.01 (1%)
     */
    slippageTolerance: string;
    /**
     * Referral address
     *
     * @default undefined
     */
    referralAddress?: string;
    /**
     * Referral fee in base points. Should be in range [0, 100] BPS
     *
     * Applies only if `referralAddress` is set
     * Applies only for dex v2, for v1 is always 10 BPS (0.1%)
     *
     * @default undefined
     */
    referralFeeBps?: string;
    /**
     * If true V2 pools might be selected for the swap.
     *
     * @default true
     */
    dexV2?: boolean;
    /**
     * Allows to restrict exact DEX version (or multiple) to be used for the swap.
     *
     * @default undefined
     */
    dexVersion?: Array<"1" | 1 | "2" | 2>;
    /**
     * Pool address
     *
     * @default undefined
     */
    poolAddress?: string;
  }): Promise<{
    askAddress: string;
    askJettonWallet: string;
    askUnits: string;
    feeAddress: string;
    feePercent: string;
    feeUnits: string;
    minAskUnits: string;
    offerAddress: string;
    offerJettonWallet: string;
    offerUnits: string;
    poolAddress: string;
    priceImpact: string;
    routerAddress: string;
    router: {
      address: string;
      majorVersion: number;
      minorVersion: number;
      ptonMasterAddress: string;
      ptonVersion: string;
      ptonWalletAddress: string;
      routerType: string;
      poolCreationEnabled: boolean;
    };
    slippageTolerance: string;
    swapRate: string;
    recommendedSlippageTolerance: string;
    recommendedMinAskUnits: string;
    gasParams: {
      gasBudget?: string | undefined;
      forwardGas: string;
      estimatedGasConsumption: string;
    };
  }>;
  simulateLiquidityProvision(query: LiquidityProvisionSimulationQuery): Promise<{
    provisionType: LiquidityProvisionType;
    routerAddress: string;
    router: {
      address: string;
      majorVersion: number;
      minorVersion: number;
      ptonMasterAddress: string;
      ptonVersion: string;
      ptonWalletAddress: string;
      routerType: string;
      poolCreationEnabled: boolean;
    };
    poolAddress: string;
    tokenA: string;
    tokenB: string;
    tokenAUnits: string;
    tokenBUnits: string;
    lpAccountAddress?: string | undefined;
    lpAccountTokenABalance: string;
    lpAccountTokenBBalance: string;
    estimatedLpUnits: string;
    minLpUnits: string;
    minTokenAUnits: string;
    minTokenBUnits: string;
    estimatedTokenARate: string;
    estimatedTokenBRate: string;
    estimatedTokenAUnits: string;
    estimatedTokenBUnits: string;
    lpTotalSupply: string;
    priceImpact: string;
  }>;
  getJettonWalletAddress(query: {
    jettonAddress: string;
    ownerAddress: string;
  }): Promise<string>;
  getWalletAsset(query: {
    walletAddress: string;
    assetAddress: string;
  }): Promise<{
    balance?: string | undefined;
    blacklisted: boolean;
    community: boolean;
    contractAddress: string;
    decimals: number;
    defaultSymbol: boolean;
    deprecated: boolean;
    dexPriceUsd?: string | undefined;
    displayName?: string | undefined;
    imageUrl?: string | undefined;
    kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
    priority: number;
    symbol: string;
    thirdPartyPriceUsd?: string | undefined;
    walletAddress?: string | undefined;
    popularityIndex?: number | undefined;
    tags: AssetTag[];
    customPayloadApiUri?: string | undefined;
    scale?: string | undefined;
    extensions?: ("custom_payload" | "scaled-ui" | {
      readonly [x: number]: string;
      toString: {};
      charAt: {};
      charCodeAt: {};
      concat: {};
      indexOf: {};
      lastIndexOf: {};
      localeCompare: {};
      match: {};
      replace: {};
      search: {};
      slice: {};
      split: {};
      substring: {};
      toLowerCase: {};
      toLocaleLowerCase: {};
      toUpperCase: {};
      toLocaleUpperCase: {};
      trim: {};
      readonly length: number;
      substr: {};
      valueOf: {};
      codePointAt: {};
      includes: {};
      endsWith: {};
      normalize: {};
      repeat: {};
      startsWith: {};
      anchor: {};
      big: {};
      blink: {};
      bold: {};
      fixed: {};
      fontcolor: {};
      fontsize: {};
      italics: {};
      link: {};
      small: {};
      strike: {};
      sub: {};
      sup: {};
      padStart: {};
      padEnd: {};
      trimEnd: {};
      trimStart: {};
      trimLeft: {};
      trimRight: {};
      matchAll: {};
      replaceAll: {};
      at: {};
      isWellFormed: {};
      toWellFormed: {};
      [Symbol.iterator]: {};
    })[] | undefined;
  }>;
  getWalletAssets(walletAddress: string): Promise<{
    balance?: string | undefined;
    blacklisted: boolean;
    community: boolean;
    contractAddress: string;
    decimals: number;
    defaultSymbol: boolean;
    deprecated: boolean;
    dexPriceUsd?: string | undefined;
    displayName?: string | undefined;
    imageUrl?: string | undefined;
    kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
    priority: number;
    symbol: string;
    thirdPartyPriceUsd?: string | undefined;
    walletAddress?: string | undefined;
    popularityIndex?: number | undefined;
    tags: AssetTag[];
    customPayloadApiUri?: string | undefined;
    scale?: string | undefined;
    extensions?: ("custom_payload" | "scaled-ui" | {
      readonly [x: number]: string;
      toString: {};
      charAt: {};
      charCodeAt: {};
      concat: {};
      indexOf: {};
      lastIndexOf: {};
      localeCompare: {};
      match: {};
      replace: {};
      search: {};
      slice: {};
      split: {};
      substring: {};
      toLowerCase: {};
      toLocaleLowerCase: {};
      toUpperCase: {};
      toLocaleUpperCase: {};
      trim: {};
      readonly length: number;
      substr: {};
      valueOf: {};
      codePointAt: {};
      includes: {};
      endsWith: {};
      normalize: {};
      repeat: {};
      startsWith: {};
      anchor: {};
      big: {};
      blink: {};
      bold: {};
      fixed: {};
      fontcolor: {};
      fontsize: {};
      italics: {};
      link: {};
      small: {};
      strike: {};
      sub: {};
      sup: {};
      padStart: {};
      padEnd: {};
      trimEnd: {};
      trimStart: {};
      trimLeft: {};
      trimRight: {};
      matchAll: {};
      replaceAll: {};
      at: {};
      isWellFormed: {};
      toWellFormed: {};
      [Symbol.iterator]: {};
    })[] | undefined;
  }[]>;
  getWalletFarm(query: {
    walletAddress: string;
    farmAddress: string;
  }): Promise<{
    apy?: string | undefined;
    minStakeDurationS: string;
    minterAddress: string;
    version: string;
    nftInfos: {
      address: string;
      createTimestamp: string;
      minUnstakeTimestamp: string;
      nonclaimedRewards: string;
      rewards: {
        address: string;
        amount: string;
      }[];
      stakedTokens: string;
      status: string;
      unstakeTimestamp?: string | undefined;
    }[];
    poolAddress: string;
    rewards: {
      index: number;
      address?: string | undefined;
      status: string;
      adminFee: string;
      remainingRewards: string;
      rewardRate24H: string;
      estimatedEndTimestamp?: string | undefined;
      rewardsDistributed: boolean;
    }[];
    status: string;
    lockedTotalLp: string;
    lockedTotalLpUsd?: string | undefined;
    allRewardsDistributed: boolean;
    meta?: {
      image?: string | undefined;
      name?: string | undefined;
      description?: string | undefined;
      socialLinks?: string[] | undefined;
      marketplace?: string | undefined;
    } | undefined;
    ownerAddress?: string | undefined;
    custodianAddress: string;
    createTimestamp?: string | undefined;
  }>;
  getWalletFarms(
  /**
   * Wallet address.
   *
   * @deprecated Use object with `walletAddress` property instead.
   */

  data: string | {
    walletAddress: string;
    /**
     * If true farms for V2 pools will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
  }): Promise<{
    apy?: string | undefined;
    minStakeDurationS: string;
    minterAddress: string;
    version: string;
    nftInfos: {
      address: string;
      createTimestamp: string;
      minUnstakeTimestamp: string;
      nonclaimedRewards: string;
      rewards: {
        address: string;
        amount: string;
      }[];
      stakedTokens: string;
      status: string;
      unstakeTimestamp?: string | undefined;
    }[];
    poolAddress: string;
    rewards: {
      index: number;
      address?: string | undefined;
      status: string;
      adminFee: string;
      remainingRewards: string;
      rewardRate24H: string;
      estimatedEndTimestamp?: string | undefined;
      rewardsDistributed: boolean;
    }[];
    status: string;
    lockedTotalLp: string;
    lockedTotalLpUsd?: string | undefined;
    allRewardsDistributed: boolean;
    meta?: {
      image?: string | undefined;
      name?: string | undefined;
      description?: string | undefined;
      socialLinks?: string[] | undefined;
      marketplace?: string | undefined;
    } | undefined;
    ownerAddress?: string | undefined;
    custodianAddress: string;
    createTimestamp?: string | undefined;
  }[]>;
  getWalletPool(query: {
    walletAddress: string;
    poolAddress: string;
  }): Promise<{
    address: string;
    apy1D?: string | undefined;
    apy7D?: string | undefined;
    apy30D?: string | undefined;
    collectedToken0ProtocolFee: string;
    collectedToken1ProtocolFee: string;
    deprecated: boolean;
    lpAccountAddress?: string | undefined;
    lpBalance?: string | undefined;
    lpFee: string;
    lpPriceUsd?: string | undefined;
    lpTotalSupply: string;
    lpTotalSupplyUsd?: string | undefined;
    lpWalletAddress?: string | undefined;
    protocolFee: string;
    protocolFeeAddress: string;
    refFee: string;
    reserve0: string;
    reserve1: string;
    routerAddress: string;
    token0Address: string;
    token0Balance?: string | undefined;
    token1Address: string;
    token1Balance?: string | undefined;
    volume24HUsd?: string | undefined;
    amp?: string | undefined;
    rate?: string | undefined;
    w0?: string | undefined;
  }>;
  getWalletPools(
  /**
   * Wallet address.
   *
   * @deprecated Use object with `walletAddress` property instead.
   */

  data: string | {
    walletAddress: string;
    /**
     * If true V2 pools will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
  }): Promise<{
    address: string;
    apy1D?: string | undefined;
    apy7D?: string | undefined;
    apy30D?: string | undefined;
    collectedToken0ProtocolFee: string;
    collectedToken1ProtocolFee: string;
    deprecated: boolean;
    lpAccountAddress?: string | undefined;
    lpBalance?: string | undefined;
    lpFee: string;
    lpPriceUsd?: string | undefined;
    lpTotalSupply: string;
    lpTotalSupplyUsd?: string | undefined;
    lpWalletAddress?: string | undefined;
    protocolFee: string;
    protocolFeeAddress: string;
    refFee: string;
    reserve0: string;
    reserve1: string;
    routerAddress: string;
    token0Address: string;
    token0Balance?: string | undefined;
    token1Address: string;
    token1Balance?: string | undefined;
    volume24HUsd?: string | undefined;
    amp?: string | undefined;
    rate?: string | undefined;
    w0?: string | undefined;
  }[]>;
  getWalletStakes(query: {
    walletAddress: string;
  }): Promise<{
    mintedGemston: string;
    nfts?: {
      address: string;
      imageUrl: string;
      minUnstakingTimestamp: string;
      mintedGemston: string;
      stakedTokens: string;
      stakingTimestamp: string;
      status: StakeNftStatus;
      unstakeTimestamp?: string | undefined;
      votingPower: string;
    }[] | undefined;
    stakedSton: string;
    stonBalance: string;
    votingPower: string;
  }>;
  getWalletVaultsFee(query: {
    walletAddress: string;
  }): Promise<{
    assetAddress: string;
    balance: string;
    routerAddress: string;
    vaultAddress: string;
  }[]>;
  getWalletOperations({
    since,
    until,
    ...query
  }: {
    since: Date;
    until: Date;
    walletAddress: string;
    /**
     * If true V2 pool operations will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
    opType?: OperationType;
  }): Promise<{
    operation: {
      poolTxHash: string;
      poolAddress: string;
      routerAddress: string;
      poolTxLt: number;
      poolTxTimestamp: string;
      destinationWalletAddress: string;
      operationType: OperationType;
      success: boolean;
      exitCode: string;
      asset0Address: string;
      asset0Amount: string;
      asset0Delta: string;
      asset0Reserve: string;
      asset1Address: string;
      asset1Amount: string;
      asset1Delta: string;
      asset1Reserve: string;
      lpTokenDelta: string;
      lpTokenSupply: string;
      feeAssetAddress: string;
      lpFeeAmount: string;
      protocolFeeAmount: string;
      referralFeeAmount: string;
      walletAddress: string;
      walletTxLt: string;
      walletTxHash: string;
      walletTxTimestamp: string;
      referralAddress?: string | undefined;
    };
    asset0Info: {
      balance?: string | undefined;
      blacklisted: boolean;
      community: boolean;
      contractAddress: string;
      decimals: number;
      defaultSymbol: boolean;
      deprecated: boolean;
      dexPriceUsd?: string | undefined;
      displayName?: string | undefined;
      imageUrl?: string | undefined;
      kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
      priority: number;
      symbol: string;
      thirdPartyPriceUsd?: string | undefined;
      walletAddress?: string | undefined;
      popularityIndex?: number | undefined;
      tags: AssetTag[];
      customPayloadApiUri?: string | undefined;
      scale?: string | undefined;
      extensions?: ("custom_payload" | "scaled-ui" | {
        readonly [x: number]: string;
        toString: {};
        charAt: {};
        charCodeAt: {};
        concat: {};
        indexOf: {};
        lastIndexOf: {};
        localeCompare: {};
        match: {};
        replace: {};
        search: {};
        slice: {};
        split: {};
        substring: {};
        toLowerCase: {};
        toLocaleLowerCase: {};
        toUpperCase: {};
        toLocaleUpperCase: {};
        trim: {};
        readonly length: number;
        substr: {};
        valueOf: {};
        codePointAt: {};
        includes: {};
        endsWith: {};
        normalize: {};
        repeat: {};
        startsWith: {};
        anchor: {};
        big: {};
        blink: {};
        bold: {};
        fixed: {};
        fontcolor: {};
        fontsize: {};
        italics: {};
        link: {};
        small: {};
        strike: {};
        sub: {};
        sup: {};
        padStart: {};
        padEnd: {};
        trimEnd: {};
        trimStart: {};
        trimLeft: {};
        trimRight: {};
        matchAll: {};
        replaceAll: {};
        at: {};
        isWellFormed: {};
        toWellFormed: {};
        [Symbol.iterator]: {};
      })[] | undefined;
    };
    asset1Info: {
      balance?: string | undefined;
      blacklisted: boolean;
      community: boolean;
      contractAddress: string;
      decimals: number;
      defaultSymbol: boolean;
      deprecated: boolean;
      dexPriceUsd?: string | undefined;
      displayName?: string | undefined;
      imageUrl?: string | undefined;
      kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
      priority: number;
      symbol: string;
      thirdPartyPriceUsd?: string | undefined;
      walletAddress?: string | undefined;
      popularityIndex?: number | undefined;
      tags: AssetTag[];
      customPayloadApiUri?: string | undefined;
      scale?: string | undefined;
      extensions?: ("custom_payload" | "scaled-ui" | {
        readonly [x: number]: string;
        toString: {};
        charAt: {};
        charCodeAt: {};
        concat: {};
        indexOf: {};
        lastIndexOf: {};
        localeCompare: {};
        match: {};
        replace: {};
        search: {};
        slice: {};
        split: {};
        substring: {};
        toLowerCase: {};
        toLocaleLowerCase: {};
        toUpperCase: {};
        toLocaleUpperCase: {};
        trim: {};
        readonly length: number;
        substr: {};
        valueOf: {};
        codePointAt: {};
        includes: {};
        endsWith: {};
        normalize: {};
        repeat: {};
        startsWith: {};
        anchor: {};
        big: {};
        blink: {};
        bold: {};
        fixed: {};
        fontcolor: {};
        fontsize: {};
        italics: {};
        link: {};
        small: {};
        strike: {};
        sub: {};
        sup: {};
        padStart: {};
        padEnd: {};
        trimEnd: {};
        trimStart: {};
        trimLeft: {};
        trimRight: {};
        matchAll: {};
        replaceAll: {};
        at: {};
        isWellFormed: {};
        toWellFormed: {};
        [Symbol.iterator]: {};
      })[] | undefined;
    };
  }[]>;
  getOperations({
    since,
    until
  }: {
    since: Date;
    until: Date;
  }): Promise<{
    operation: {
      poolTxHash: string;
      poolAddress: string;
      routerAddress: string;
      poolTxLt: number;
      poolTxTimestamp: string;
      destinationWalletAddress: string;
      operationType: OperationType;
      success: boolean;
      exitCode: string;
      asset0Address: string;
      asset0Amount: string;
      asset0Delta: string;
      asset0Reserve: string;
      asset1Address: string;
      asset1Amount: string;
      asset1Delta: string;
      asset1Reserve: string;
      lpTokenDelta: string;
      lpTokenSupply: string;
      feeAssetAddress: string;
      lpFeeAmount: string;
      protocolFeeAmount: string;
      referralFeeAmount: string;
      walletAddress: string;
      walletTxLt: string;
      walletTxHash: string;
      walletTxTimestamp: string;
      referralAddress?: string | undefined;
    };
    asset0Info: {
      balance?: string | undefined;
      blacklisted: boolean;
      community: boolean;
      contractAddress: string;
      decimals: number;
      defaultSymbol: boolean;
      deprecated: boolean;
      dexPriceUsd?: string | undefined;
      displayName?: string | undefined;
      imageUrl?: string | undefined;
      kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
      priority: number;
      symbol: string;
      thirdPartyPriceUsd?: string | undefined;
      walletAddress?: string | undefined;
      popularityIndex?: number | undefined;
      tags: AssetTag[];
      customPayloadApiUri?: string | undefined;
      scale?: string | undefined;
      extensions?: ("custom_payload" | "scaled-ui" | {
        readonly [x: number]: string;
        toString: {};
        charAt: {};
        charCodeAt: {};
        concat: {};
        indexOf: {};
        lastIndexOf: {};
        localeCompare: {};
        match: {};
        replace: {};
        search: {};
        slice: {};
        split: {};
        substring: {};
        toLowerCase: {};
        toLocaleLowerCase: {};
        toUpperCase: {};
        toLocaleUpperCase: {};
        trim: {};
        readonly length: number;
        substr: {};
        valueOf: {};
        codePointAt: {};
        includes: {};
        endsWith: {};
        normalize: {};
        repeat: {};
        startsWith: {};
        anchor: {};
        big: {};
        blink: {};
        bold: {};
        fixed: {};
        fontcolor: {};
        fontsize: {};
        italics: {};
        link: {};
        small: {};
        strike: {};
        sub: {};
        sup: {};
        padStart: {};
        padEnd: {};
        trimEnd: {};
        trimStart: {};
        trimLeft: {};
        trimRight: {};
        matchAll: {};
        replaceAll: {};
        at: {};
        isWellFormed: {};
        toWellFormed: {};
        [Symbol.iterator]: {};
      })[] | undefined;
    };
    asset1Info: {
      balance?: string | undefined;
      blacklisted: boolean;
      community: boolean;
      contractAddress: string;
      decimals: number;
      defaultSymbol: boolean;
      deprecated: boolean;
      dexPriceUsd?: string | undefined;
      displayName?: string | undefined;
      imageUrl?: string | undefined;
      kind: "Ton" | "Wton" | "Jetton" | "NotAnAsset";
      priority: number;
      symbol: string;
      thirdPartyPriceUsd?: string | undefined;
      walletAddress?: string | undefined;
      popularityIndex?: number | undefined;
      tags: AssetTag[];
      customPayloadApiUri?: string | undefined;
      scale?: string | undefined;
      extensions?: ("custom_payload" | "scaled-ui" | {
        readonly [x: number]: string;
        toString: {};
        charAt: {};
        charCodeAt: {};
        concat: {};
        indexOf: {};
        lastIndexOf: {};
        localeCompare: {};
        match: {};
        replace: {};
        search: {};
        slice: {};
        split: {};
        substring: {};
        toLowerCase: {};
        toLocaleLowerCase: {};
        toUpperCase: {};
        toLocaleUpperCase: {};
        trim: {};
        readonly length: number;
        substr: {};
        valueOf: {};
        codePointAt: {};
        includes: {};
        endsWith: {};
        normalize: {};
        repeat: {};
        startsWith: {};
        anchor: {};
        big: {};
        blink: {};
        bold: {};
        fixed: {};
        fontcolor: {};
        fontsize: {};
        italics: {};
        link: {};
        small: {};
        strike: {};
        sub: {};
        sup: {};
        padStart: {};
        padEnd: {};
        trimEnd: {};
        trimStart: {};
        trimLeft: {};
        trimRight: {};
        matchAll: {};
        replaceAll: {};
        at: {};
        isWellFormed: {};
        toWellFormed: {};
        [Symbol.iterator]: {};
      })[] | undefined;
    };
  }[]>;
  getAssetsFeeStats({
    since,
    until,
    referrerAddress
  }: {
    since: Date;
    until: Date;
    referrerAddress: string;
  }): Promise<{
    assetsFeeStats: {
      assetAddress: string;
      accrued: string;
      accruedUsd: string;
      withdrawn: string;
    }[];
    since: string;
    until: string;
    totalAccruedUsd: string;
  }>;
  getWithdrawalsFeeStats({
    since,
    until,
    referrerAddress
  }: {
    since: Date;
    until: Date;
    referrerAddress: string;
  }): Promise<{
    amount: string;
    assetAddress: string;
    exitCode: string;
    operationWalletAddress: string;
    routerAddress: string;
    success: boolean;
    vaultAddress: string;
    vaultTxHash: string;
    vaultTxLt: number;
    vaultTxTimestamp: string;
  }[]>;
  getAccrualsFeeStats({
    since,
    until,
    referrerAddress
  }: {
    since: Date;
    until: Date;
    referrerAddress: string;
  }): Promise<{
    asset0Address: string;
    asset0Amount: string;
    asset0Delta: string;
    asset0Reserve: string;
    asset1Address: string;
    asset1Amount: string;
    asset1Delta: string;
    asset1Reserve: string;
    destinationWalletAddress: string;
    exitCode: string;
    feeAssetAddress: string;
    lpFeeAmount: string;
    lpTokenDelta: string;
    lpTokenSupply: string;
    operationType: string;
    poolAddress: string;
    poolTxHash: string;
    poolTxLt: number;
    poolTxTimestamp: string;
    protocolFeeAmount: string;
    referralAddress: string;
    referralFeeAmount: string;
    routerAddress: string;
    success: boolean;
    walletAddress: string;
    walletTxHash: string;
    walletTxLt: string;
    walletTxTimestamp: string;
  }[]>;
  getStakingStats(): Promise<{
    gemstonTotalSupply: string;
    stonPriceUsd: string;
    stonTotalSupply: string;
    totalStakedSton: string;
  }>;
  getRouters(query?: {
    /**
     * If true V2 routers will be present in the response.
     *
     * @default true
     */
    dexV2?: boolean;
  }): Promise<{
    address: string;
    majorVersion: number;
    minorVersion: number;
    ptonMasterAddress: string;
    ptonVersion: string;
    ptonWalletAddress: string;
    routerType: string;
    poolCreationEnabled: boolean;
  }[]>;
  getRouter(routerAddress: string): Promise<{
    address: string;
    majorVersion: number;
    minorVersion: number;
    ptonMasterAddress: string;
    ptonVersion: string;
    ptonWalletAddress: string;
    routerType: string;
    poolCreationEnabled: boolean;
  }>;
}
//#endregion
//#region src/client/types/stake.d.ts
declare const StakeNftStatus: {
  readonly Uninitialized: "uninitialized";
  readonly Active: "active";
  readonly Unstaked: "unstaked";
  readonly Claiming: "claiming";
};
type StakeNftStatus = (typeof StakeNftStatus)[keyof typeof StakeNftStatus];
//#endregion
//#region src/index.d.ts
type AssetInfo = Awaited<ReturnType<StonApiClient["getAssets"]>>[number];
type AssetInfoV2 = Awaited<ReturnType<StonApiClient["queryAssets"]>>[number];
type FarmInfo = Awaited<ReturnType<StonApiClient["getFarms"]>>[number];
type FarmNftInfo = FarmInfo["nftInfos"][number];
type PoolInfo = Awaited<ReturnType<StonApiClient["getPools"]>>[number];
type SwapSimulation = Awaited<ReturnType<StonApiClient["simulateSwap"]>>;
type SwapStatus = Awaited<ReturnType<StonApiClient["getSwapStatus"]>>;
type SwapPair = Awaited<ReturnType<StonApiClient["getSwapPairs"]>>[number];
type OperationInfo = Awaited<ReturnType<StonApiClient["getOperations"]>>[number];
type RouterInfo = Awaited<ReturnType<StonApiClient["getRouters"]>>[number];
type LiquidityProvisionSimulation = Awaited<ReturnType<StonApiClient["simulateLiquidityProvision"]>>;
type AssetFeeStat = Awaited<ReturnType<StonApiClient["getAssetsFeeStats"]>>["assetsFeeStats"][number];
type WithdrawalFeeStat = Awaited<ReturnType<StonApiClient["getWithdrawalsFeeStats"]>>[number];
type OperationFeeStat = Awaited<ReturnType<StonApiClient["getAccrualsFeeStats"]>>[number];
type VaultFeeInfo = Awaited<ReturnType<StonApiClient["getWalletVaultsFee"]>>[number];
type WalletStakesInfo = Awaited<ReturnType<StonApiClient["getWalletStakes"]>>;
type StakeNft = NonNullable<WalletStakesInfo["nfts"]>[number];
type StakingStats = Awaited<ReturnType<StonApiClient["getStakingStats"]>>;
type TxId = NonNullable<Awaited<ReturnType<StonApiClient["queryTransactions"]>>["txId"]>;
//#endregion
export { AssetFeeStat, AssetInfo, AssetInfoV2, AssetKind, AssetTag, FarmInfo, FarmNftInfo, LiquidityProvisionSimulation, LiquidityProvisionType, OperationFeeStat, OperationInfo, OperationType, PoolInfo, RouterInfo, StakeNft, StakeNftStatus, StakingStats, StonApiClient, type StonApiClientOptions, SwapPair, SwapSimulation, SwapStatus, TxId, VaultFeeInfo, WalletStakesInfo, WithdrawalFeeStat };