import { TransactionInstruction, PublicKey } from '@solana/web3.js'; export interface CreateAmmConfigArgs { index: number; tickSpacing: number; tradeFeeRate: number; protocolFeeRate: number; fundFeeRate: number; } export interface CreateAmmConfigAccounts { /** Address to be set as protocol owner. */ owner: PublicKey; /** Initialize config state account to store protocol owner address and fee rates. */ ammConfig: PublicKey; systemProgram: PublicKey; } export declare const layout: any; /** * # Arguments * * * `ctx`- The accounts needed by instruction. * * `index` - The index of amm config, there may be multiple config. * * `tick_spacing` - The tickspacing binding with config, cannot be changed. * * `trade_fee_rate` - Trade fee rate, can be changed. * * `protocol_fee_rate` - The rate of protocol fee within tarde fee. * * `fund_fee_rate` - The rate of fund fee within tarde fee. * */ export declare function createAmmConfig(args: CreateAmmConfigArgs, accounts: CreateAmmConfigAccounts): TransactionInstruction;