import { Decimal } from "@cosmjs/math"; import { Coin, OfflineSigner, Registry } from "@cosmjs/proto-signing"; import { AminoTypes, SignerData, SigningStargateClient, SigningStargateClientOptions, StargateClient, StargateClientOptions, StdFee } from "@cosmjs/stargate"; import { HttpEndpoint, Tendermint34Client } from "@cosmjs/tendermint-rpc"; import type { PoolRes } from "@sifchain/proto-types/sifnode/clp/v1/querier"; import type { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import type { Height } from "cosmjs-types/ibc/core/client/v1/client"; import type { CosmosEncodeObject, SifEncodeObject } from "./messages"; export declare const createDefaultTypes: (prefix: string) => AminoTypes; export declare const createDefaultRegistry: () => Registry; declare type ClpPool = NonNullable; export declare type SwapPoolParams = Pick & { nativeLiabilities?: ClpPool["nativeLiabilities"]; externalLiabilities?: ClpPool["externalLiabilities"]; isMarginEnabled?: boolean; }; export declare type SwapOptions = { pmtpBlockRate?: string | undefined; swapFeeRate?: string | undefined; slippage?: number | string | undefined; }; export declare class SifSigningStargateClient extends SigningStargateClient { #private; static connect(endpoint: string | HttpEndpoint, options?: StargateClientOptions): Promise>; static connectWithSigner(endpoint: string | HttpEndpoint, signer: OfflineSigner, options?: SigningStargateClientOptions): Promise; static offline(signer: OfflineSigner, options?: SigningStargateClientOptions): Promise; protected constructor(tmClient: Tendermint34Client | undefined, signer: OfflineSigner, options: SigningStargateClientOptions); simulate(signerAddress: string, messages: readonly (SifEncodeObject | CosmosEncodeObject)[], memo: string | undefined): Promise; sign(signerAddress: string, messages: readonly (SifEncodeObject | CosmosEncodeObject)[], fee: StdFee, memo: string, explicitSignerData?: SignerData): Promise; signAndBroadcast(signerAddress: string, messages: readonly (SifEncodeObject | CosmosEncodeObject)[], fee: number | StdFee | "auto", memo?: string): Promise; protected getQueryClient(): (import("@cosmjs/stargate").QueryClient & import("@cosmjs/stargate").AuthExtension & import("@cosmjs/stargate").BankExtension & import("@cosmjs/stargate").StakingExtension & import("@cosmjs/stargate").TxExtension & { clp: { getPool: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").PoolReq) => Promise; getPools: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").PoolsReq) => Promise; getLiquidityProvider: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProviderReq) => Promise; getLiquidityProviderData: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProviderDataReq) => Promise; getAssetList: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").AssetListReq) => Promise; getLiquidityProviders: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProvidersReq) => Promise; getLiquidityProviderList: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProviderListReq) => Promise; getParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").ParamsReq) => Promise; getRewardParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").RewardParamsReq) => Promise; getPmtpParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").PmtpParamsReq) => Promise; getLiquidityProtectionParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProtectionParamsReq) => Promise; getProviderDistributionParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").ProviderDistributionParamsReq) => Promise; getSwapFeeParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").SwapFeeParamsReq) => Promise; }; } & { dispensation: { allDistributions: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryAllDistributionsRequest) => Promise; recordsByDistributionName: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryRecordsByDistributionNameRequest) => Promise; recordsByRecipient: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryRecordsByRecipientAddrRequest) => Promise; claimsByType: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryClaimsByTypeRequest) => Promise; }; } & { ethBridge: { ethProphecy: (request: import("@sifchain/proto-types/sifnode/ethbridge/v1/query").QueryEthProphecyRequest) => Promise; getBlacklist: (request: import("@sifchain/proto-types/sifnode/ethbridge/v1/query").QueryBlacklistRequest) => Promise; }; } & { tokenRegistry: { entries: (request: import("@sifchain/proto-types/sifnode/tokenregistry/v1/query").QueryEntriesRequest) => Promise; }; } & { margin: { getMTP: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").MTPRequest) => Promise; getPositions: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").PositionsRequest) => Promise; getPositionsForAddress: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").PositionsForAddressRequest) => Promise; getPositionsByPool: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").PositionsByPoolRequest) => Promise; getParams: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").ParamsRequest) => Promise; getStatus: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").StatusRequest) => Promise; getSQParams: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").GetSQParamsRequest) => Promise; getWhitelist: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").WhitelistRequest) => Promise; isWhitelisted: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").IsWhitelistedRequest) => Promise; }; }) | undefined; protected forceGetQueryClient(): import("@cosmjs/stargate").QueryClient & import("@cosmjs/stargate").AuthExtension & import("@cosmjs/stargate").BankExtension & import("@cosmjs/stargate").StakingExtension & import("@cosmjs/stargate").TxExtension & { clp: { getPool: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").PoolReq) => Promise; getPools: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").PoolsReq) => Promise; getLiquidityProvider: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProviderReq) => Promise; getLiquidityProviderData: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProviderDataReq) => Promise; getAssetList: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").AssetListReq) => Promise; getLiquidityProviders: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProvidersReq) => Promise; getLiquidityProviderList: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProviderListReq) => Promise; getParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").ParamsReq) => Promise; getRewardParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").RewardParamsReq) => Promise; getPmtpParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").PmtpParamsReq) => Promise; getLiquidityProtectionParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").LiquidityProtectionParamsReq) => Promise; getProviderDistributionParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").ProviderDistributionParamsReq) => Promise; getSwapFeeParams: (request: import("@sifchain/proto-types/sifnode/clp/v1/querier").SwapFeeParamsReq) => Promise; }; } & { dispensation: { allDistributions: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryAllDistributionsRequest) => Promise; recordsByDistributionName: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryRecordsByDistributionNameRequest) => Promise; recordsByRecipient: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryRecordsByRecipientAddrRequest) => Promise; claimsByType: (request: import("@sifchain/proto-types/sifnode/dispensation/v1/query").QueryClaimsByTypeRequest) => Promise; }; } & { ethBridge: { ethProphecy: (request: import("@sifchain/proto-types/sifnode/ethbridge/v1/query").QueryEthProphecyRequest) => Promise; getBlacklist: (request: import("@sifchain/proto-types/sifnode/ethbridge/v1/query").QueryBlacklistRequest) => Promise; }; } & { tokenRegistry: { entries: (request: import("@sifchain/proto-types/sifnode/tokenregistry/v1/query").QueryEntriesRequest) => Promise; }; } & { margin: { getMTP: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").MTPRequest) => Promise; getPositions: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").PositionsRequest) => Promise; getPositionsForAddress: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").PositionsForAddressRequest) => Promise; getPositionsByPool: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").PositionsByPoolRequest) => Promise; getParams: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").ParamsRequest) => Promise; getStatus: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").StatusRequest) => Promise; getSQParams: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").GetSQParamsRequest) => Promise; getWhitelist: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").WhitelistRequest) => Promise; isWhitelisted: (request: import("@sifchain/proto-types/sifnode/margin/v1/query").IsWhitelistedRequest) => Promise; }; }; exportIbcTokens(senderAddress: string, recipientAddress: string, transferAmount: Coin, sourcePort: string | undefined, timeoutHeight: Height | undefined, timeoutTimestamp: number | undefined, fee: StdFee | "auto" | number, memo?: string): Promise; importIbcTokens(counterPartySigningStargateClient: SigningStargateClient, senderAddress: string, recipientAddress: string, transferAmount: Coin, sourcePort: string | undefined, timeoutHeight: Height | undefined, timeoutTimestamp: number | undefined, fee: StdFee | "auto" | number, memo?: string): Promise; sendTokensToEth(senderAddress: string, recipientAddress: string, transferAmount: Coin, ethChainId: number | undefined, ethFee: string | undefined, fee: StdFee | "auto" | number, memo?: string): Promise; /** * Requires pre-fetched pool balances & PMTP block rate. * Useful when lots of swap simulations are required (i.e. text box with real-time update) * * @param fromCoin * @param toCoin * @param options * @returns */ simulateSwapSync(fromCoin: Coin & SwapPoolParams, toCoin: Omit & SwapPoolParams, options?: SwapOptions): { rawReceiving: string; minimumReceiving: string; liquidityProviderFee: string; priceImpact: number; }; /** * Asynchronous method for simulating a swap transaction. * If lots of swap simulations are required, use {@link simulateSwapSync} instead * * @param fromCoin * @param toCoin * @param slippage value between 0 and 1 * @returns */ simulateSwap(fromCoin: Coin, toCoin: Omit, slippage?: number | string): Promise<{ rawReceiving: Decimal; minimumReceiving: Decimal; liquidityProviderFee: Decimal; priceImpact: number; }>; } export {};