///
import * as web3 from '@solana/web3.js';
import * as beet from '@convergence-rfq/beet';
import * as beetSolana from '@convergence-rfq/beet-solana';
import { FeeParameters } from '../types/FeeParameters';
import { PrintTradeProvider } from '../types/PrintTradeProvider';
import { Instrument } from '../types/Instrument';
export type ProtocolStateArgs = {
authority: web3.PublicKey;
bump: number;
active: boolean;
settleFees: FeeParameters;
defaultFees: FeeParameters;
riskEngine: web3.PublicKey;
collateralMint: web3.PublicKey;
printTradeProviders: PrintTradeProvider[];
instruments: Instrument[];
assetAddFee: beet.bignum;
reserved: number[];
};
export declare const protocolStateDiscriminator: number[];
export declare class ProtocolState implements ProtocolStateArgs {
readonly authority: web3.PublicKey;
readonly bump: number;
readonly active: boolean;
readonly settleFees: FeeParameters;
readonly defaultFees: FeeParameters;
readonly riskEngine: web3.PublicKey;
readonly collateralMint: web3.PublicKey;
readonly printTradeProviders: PrintTradeProvider[];
readonly instruments: Instrument[];
readonly assetAddFee: beet.bignum;
readonly reserved: number[];
private constructor();
static fromArgs(args: ProtocolStateArgs): ProtocolState;
static fromAccountInfo(accountInfo: web3.AccountInfo, offset?: number): [ProtocolState, number];
static fromAccountAddress(connection: web3.Connection, address: web3.PublicKey): Promise;
static gpaBuilder(programId?: web3.PublicKey): beetSolana.GpaBuilder;
static deserialize(buf: Buffer, offset?: number): [ProtocolState, number];
serialize(): [Buffer, number];
static byteSize(args: ProtocolStateArgs): number;
static getMinimumBalanceForRentExemption(args: ProtocolStateArgs, connection: web3.Connection, commitment?: web3.Commitment): Promise;
pretty(): {
authority: string;
bump: number;
active: boolean;
settleFees: FeeParameters;
defaultFees: FeeParameters;
riskEngine: string;
collateralMint: string;
printTradeProviders: PrintTradeProvider[];
instruments: Instrument[];
assetAddFee: number | {
toNumber: () => number;
};
reserved: number[];
};
}
export declare const protocolStateBeet: beet.FixableBeetStruct;