import { IDL } from '@dfinity/candid'; import type { Principal } from '@dfinity/principal'; export declare class SwapIDL { static readonly factory: IDL.InterfaceFactory; } export declare namespace SwapIDL { interface DSwapInfo { storageCanisterId: Principal; owner: Principal; cycles: bigint; tokens: Array; pairs: Array; } interface PairInfoExt { id: string; price0CumulativeLast: bigint; creator: Principal; reserve0: bigint; reserve1: bigint; lptoken: string; totalSupply: bigint; token0: string; token1: string; price1CumulativeLast: bigint; kLast: bigint; blockTimestampLast: bigint; } type Result = { ok: boolean; } | { err: string; }; interface Swap { addAuth: (arg_0: Principal) => Promise; addLiquidity: (arg_0: Principal, arg_1: Principal, arg_2: bigint, arg_3: bigint, arg_4: bigint, arg_5: bigint, arg_6: bigint) => Promise; addToken: (arg_0: Principal) => Promise; allowance: (arg_0: string, arg_1: Principal, arg_2: Principal) => Promise; approve: (arg_0: string, arg_1: Principal, arg_2: bigint) => Promise; balanceOf: (arg_0: string, arg_1: Principal) => Promise; checkTxCounter: () => Promise; createPair: (arg_0: Principal, arg_1: Principal) => Promise; decimals: (arg_0: string) => Promise; deposit: (arg_0: Principal, arg_1: bigint) => Promise; depositTo: (arg_0: Principal, arg_1: Principal, arg_2: bigint) => Promise; getAllPairs: () => Promise>; getDSwapInfo: () => Promise; getLPTokenId: (arg_0: Principal, arg_1: Principal) => Promise; getNumPairs: () => Promise; getPair: (arg_0: Principal, arg_1: Principal) => Promise<[] | [PairInfoExt]>; getPairs: (arg_0: bigint, arg_1: bigint) => Promise<[Array, bigint]>; getSupportedTokenList: () => Promise>; getSupportedTokenListByName: (arg_0: string, arg_1: bigint, arg_2: bigint) => Promise<[Array, bigint]>; getSupportedTokenListSome: (arg_0: bigint, arg_1: bigint) => Promise<[Array, bigint]>; getUserBalances: (arg_0: Principal) => Promise>; getUserInfo: (arg_0: Principal) => Promise; getUserInfoAbove: (arg_0: Principal, arg_1: bigint, arg_2: bigint) => Promise; getUserInfoByNamePageAbove: (arg_0: Principal, arg_1: bigint, arg_2: string, arg_3: bigint, arg_4: bigint, arg_5: bigint, arg_6: string, arg_7: bigint, arg_8: bigint) => Promise; getUserLPBalances: (arg_0: Principal) => Promise>; getUserLPBalancesAbove: (arg_0: Principal, arg_1: bigint) => Promise>; lazySwap: (arg_0: bigint, arg_1: bigint, arg_2: Array, arg_3: Principal) => Promise; name: (arg_0: string) => Promise; removeAuth: (arg_0: Principal) => Promise; removeLiquidity: (arg_0: Principal, arg_1: Principal, arg_2: bigint, arg_3: bigint, arg_4: bigint, arg_5: Principal, arg_6: bigint) => Promise; setAddTokenThresh: (arg_0: bigint) => Promise; setFeeForToken: (arg_0: string, arg_1: bigint) => Promise; setFeeOn: (arg_0: boolean) => Promise; setFeeTo: (arg_0: Principal) => Promise; setGlobalTokenFee: (arg_0: bigint) => Promise; setMaxTokens: (arg_0: bigint) => Promise; setOwner: (arg_0: Principal) => Promise; setStorageCanisterId: (arg_0: Principal) => Promise; swapExactTokensForTokens: (arg_0: bigint, arg_1: bigint, arg_2: Array, arg_3: Principal, arg_4: bigint) => Promise; swapTokensForExactTokens: (arg_0: bigint, arg_1: bigint, arg_2: Array, arg_3: Principal, arg_4: bigint) => Promise; symbol: (arg_0: string) => Promise; totalSupply: (arg_0: string) => Promise; transfer: (arg_0: string, arg_1: Principal, arg_2: bigint) => Promise; transferFrom: (arg_0: string, arg_1: Principal, arg_2: Principal, arg_3: bigint) => Promise; withdraw: (arg_0: Principal, arg_1: bigint) => Promise; withdrawTo: (arg_0: Principal, arg_1: Principal, arg_2: bigint) => Promise; } interface TokenInfoExt { id: string; fee: bigint; decimals: number; name: string; totalSupply: bigint; symbol: string; } type TxReceipt = { ok: bigint; } | { err: string; }; interface UserInfo { lpBalances: Array<[string, bigint]>; balances: Array<[string, bigint]>; } interface UserInfoPage { lpBalances: [Array<[string, bigint]>, bigint]; balances: [Array<[string, bigint]>, bigint]; } type Factory = Swap; }