import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core'; /** Initial data structures and settings **/ export declare const TIMELOCK_DELAY_DEFAULT: bigint; export declare type RouterV3ContractConfig = { adminAddress: Address; poolAdminAddress?: Address; poolFactoryAddress: Address; flags?: bigint; poolv3_code: Cell; accountv3_code: Cell; position_nftv3_code: Cell; timelockDelay?: bigint; nonce?: bigint; }; export declare function routerv3ContractConfigToCell(config: RouterV3ContractConfig): Cell; export declare function routerv3ContractCellToConfig(c: Cell): RouterV3ContractConfig; export declare class RouterV3Contract implements Contract { readonly address: Address; readonly init?: { code: Cell; data: Cell; } | undefined; constructor(address: Address, init?: { code: Cell; data: Cell; } | undefined); static createFromConfig(config: RouterV3ContractConfig, code: Cell, workchain?: number): RouterV3Contract; sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise; static deployPoolMessage(jetton0WalletAddr: Address, jetton1WalletAddr: Address, tickSpacing: number, sqrtPriceX96: bigint, activatePool: boolean, opts: { jetton0Minter?: Address; jetton1Minter?: Address; controllerAddress?: Address; nftContentPacked?: Cell; nftItemContentPacked?: Cell; protocolFee?: number; lpFee?: number; currentFee?: number; }): Cell; static unpackDeployPoolMessage(body: Cell): { jetton0WalletAddr: Address; jetton1WalletAddr: Address; tickSpacing: number; sqrtPriceX96: bigint; activatePool: boolean; jetton0Minter?: Address; jetton1Minter?: Address; controllerAddress?: Address; nftContentPacked?: Cell; nftItemContentPacked?: Cell; protocolFee?: number; lpFee?: number; currentFee?: number; }; sendDeployPool(provider: ContractProvider, sender: Sender, value: bigint, jetton0WalletAddr: Address, jetton1WalletAddr: Address, tickSpacing: number, sqrtPriceX96: bigint, activatePool: boolean, opts: { jetton0Minter?: Address; jetton1Minter?: Address; controllerAddress?: Address; nftContentPacked?: Cell; nftItemContentPacked?: Cell; protocolFee?: number; lpFee?: number; currentFee?: number; }): Promise; sendResetGas(provider: ContractProvider, sender: Sender, value: bigint): Promise; static changeAdminStartMessage(opts: { newCode?: Cell; newAdmin?: Address; newFlags?: bigint; }): Cell; static unpackChangeAdminStartMessage(body: Cell): { newCode?: Cell; newAdmin?: Address; newFlags?: bigint; }; sendChangeAdminStart(provider: ContractProvider, sender: Sender, value: bigint, opts: { newCode?: Cell; newAdmin?: Address; newFlags?: bigint; }): Promise; static changeAdminCommitMessage(): Cell; static unpackChangeAdminCommitMessage(body: Cell): {}; sendChangeAdminCommit(provider: ContractProvider, sender: Sender, value: bigint): Promise; static changeRouterParamMessage(opts: { newPoolAdmin?: Address; newPoolFactory?: Address; }): Cell; static unpackChangeRouterParamMessage(body: Cell): { newPoolAdmin?: Address; newPoolFactory?: Address; }; sendChangeRouterParams(provider: ContractProvider, sender: Sender, value: bigint, opts: { newPoolAdmin?: Address; newPoolFactory?: Address; }): Promise; /** Getters **/ getState(provider: ContractProvider): Promise<{ admin: Address; pool_admin: Address; pool_factory: Address; flags: bigint; pool_seqno: bigint; }>; getAdminAddress(provider: ContractProvider): Promise
; getPoolFactoryAddress(provider: ContractProvider): Promise
; getPoolAddress(provider: ContractProvider, jetton0WalletAddr: Address, jetton1WalletAddr: Address): Promise
; getChildContracts(provider: ContractProvider): Promise<{ poolCode: Cell; accountCode: Cell; positionNFTCode: Cell; }>; getPoolInitialData(provider: ContractProvider, jetton0WalletAddr: Address, jetton1WalletAddr: Address): Promise; getPoolStateInit(provider: ContractProvider, jetton0WalletAddr: Address, jetton1WalletAddr: Address): Promise; static RESULT_SWAP_OK: number; static RESULT_BURN_OK: number; }