///
import { PublicKey, Connection } from '@solana/web3.js';
import BN from 'bn.js';
export interface AmmConfigFields {
/** Bump to identify PDA */
bump: number;
index: number;
/** Address of the protocol owner */
owner: PublicKey;
/** The protocol fee */
protocolFeeRate: number;
/** The trade fee, denominated in hundredths of a bip (10^-6) */
tradeFeeRate: number;
/** The tick spacing */
tickSpacing: number;
/** The fund fee, denominated in hundredths of a bip (10^-6) */
fundFeeRate: number;
paddingU32: number;
fundOwner: PublicKey;
padding: Array;
}
export interface AmmConfigJSON {
/** Bump to identify PDA */
bump: number;
index: number;
/** Address of the protocol owner */
owner: string;
/** The protocol fee */
protocolFeeRate: number;
/** The trade fee, denominated in hundredths of a bip (10^-6) */
tradeFeeRate: number;
/** The tick spacing */
tickSpacing: number;
/** The fund fee, denominated in hundredths of a bip (10^-6) */
fundFeeRate: number;
paddingU32: number;
fundOwner: string;
padding: Array;
}
/** Holds the current owner of the factory */
export declare class AmmConfig {
/** Bump to identify PDA */
readonly bump: number;
readonly index: number;
/** Address of the protocol owner */
readonly owner: PublicKey;
/** The protocol fee */
readonly protocolFeeRate: number;
/** The trade fee, denominated in hundredths of a bip (10^-6) */
readonly tradeFeeRate: number;
/** The tick spacing */
readonly tickSpacing: number;
/** The fund fee, denominated in hundredths of a bip (10^-6) */
readonly fundFeeRate: number;
readonly paddingU32: number;
readonly fundOwner: PublicKey;
readonly padding: Array;
static readonly discriminator: Buffer;
static readonly layout: any;
constructor(fields: AmmConfigFields);
static fetch(c: Connection, address: PublicKey): Promise;
static fetchMultiple(c: Connection, addresses: PublicKey[]): Promise>;
static decode(data: Buffer): AmmConfig;
toJSON(): AmmConfigJSON;
static fromJSON(obj: AmmConfigJSON): AmmConfig;
}