///
///
import { type AnchorProvider, BN, Program, type IdlTypes, type IdlAccounts } from '@coral-xyz/anchor';
import { type AccountInfo, type Commitment, type Connection, Keypair, PublicKey, type Signer, type TransactionInstruction, type TransactionSignature } from '@solana/web3.js';
import { type OpenbookV2 } from './openbook_v2';
export type IdsSource = 'api' | 'static' | 'get-program-accounts';
export type PlaceOrderArgs = IdlTypes['PlaceOrderArgs'];
export type PlaceOrderType = IdlTypes['PlaceOrderType'];
export type PlaceOrderPeggedArgs = IdlTypes['PlaceOrderPeggedArgs'];
export type PlaceMultipleOrdersArgs = IdlTypes['PlaceMultipleOrdersArgs'];
export type OracleConfigParams = IdlTypes['OracleConfigParams'];
export type OracleConfig = IdlTypes['OracleConfig'];
export type MarketAccount = IdlAccounts['market'];
export type OpenOrdersAccount = IdlAccounts['openOrdersAccount'];
export type OpenOrdersIndexerAccount = IdlAccounts['openOrdersIndexer'];
export type EventHeapAccount = IdlAccounts['eventHeap'];
export type BookSideAccount = IdlAccounts['bookSide'];
export type LeafNode = IdlTypes['LeafNode'];
export type AnyNode = IdlTypes['AnyNode'];
export type FillEvent = IdlTypes['FillEvent'];
export type OutEvent = IdlTypes['OutEvent'];
export interface OpenBookClientOptions {
idsSource?: IdsSource;
postSendTxCallback?: ({ txid }: {
txid: string;
}) => void;
prioritizationFee?: number;
txConfirmationCommitment?: Commitment;
}
export declare function nameToString(name: number[]): string;
export declare const OPENBOOK_PROGRAM_ID: PublicKey;
export declare class OpenBookV2Client {
provider: AnchorProvider;
programId: PublicKey;
opts: OpenBookClientOptions;
program: Program;
private readonly idsSource;
private readonly postSendTxCallback?;
private readonly prioritizationFee;
private readonly txConfirmationCommitment;
constructor(provider: AnchorProvider, programId?: PublicKey, opts?: OpenBookClientOptions);
get connection(): Connection;
get walletPk(): PublicKey;
setProvider(provider: AnchorProvider): void;
sendAndConfirmTransaction(ixs: TransactionInstruction[], opts?: any): Promise;
createProgramAccount(authority: Keypair, size: number): Promise;
createProgramAccountIx(authority: PublicKey, size: number): Promise<[TransactionInstruction, Signer]>;
deserializeMarketAccount(publicKey: PublicKey): Promise;
deserializeOpenOrderAccount(publicKey: PublicKey): Promise;
deserializeOpenOrdersIndexerAccount(publicKey: PublicKey): Promise;
deserializeEventHeapAccount(publicKey: PublicKey): Promise;
deserializeBookSide(publicKey: PublicKey): Promise;
priceData(key: BN): number;
getLeafNodes(bookside: BookSideAccount): LeafNode[];
createMarketIx(payer: PublicKey, name: string, quoteMint: PublicKey, baseMint: PublicKey, quoteLotSize: BN, baseLotSize: BN, makerFee: BN, takerFee: BN, timeExpiry: BN, oracleA: PublicKey | null, oracleB: PublicKey | null, openOrdersAdmin: PublicKey | null, consumeEventsAdmin: PublicKey | null, closeMarketAdmin: PublicKey | null, oracleConfigParams?: OracleConfigParams, market?: Keypair, collectFeeAdmin?: PublicKey): Promise<[TransactionInstruction[], Signer[]]>;
closeMarketIx(marketPublicKey: PublicKey, market: MarketAccount, solDestination: PublicKey, closeMarketAdmin?: Keypair | null): Promise<[TransactionInstruction, Signer[]]>;
findOpenOrdersIndexer(owner?: PublicKey): PublicKey;
createOpenOrdersIndexer(openOrdersIndexer: PublicKey): Promise;
createOpenOrdersIndexerIx(openOrdersIndexer: PublicKey, owner?: PublicKey): Promise;
findAllOpenOrders(owner?: PublicKey): Promise;
findOpenOrderAtIndex(owner: PublicKey | undefined, accountIndex: BN): PublicKey;
findOpenOrdersForMarket(owner: PublicKey | undefined, market: PublicKey): Promise;
createOpenOrdersIx(market: PublicKey, name: string, owner: PublicKey | undefined, delegateAccount: PublicKey | null, openOrdersIndexer?: PublicKey | null): Promise<[TransactionInstruction[], PublicKey]>;
createOpenOrders(payer: Keypair, market: PublicKey, name: string, owner?: Keypair, delegateAccount?: PublicKey | null): Promise;
depositIx(openOrdersPublicKey: PublicKey, openOrdersAccount: OpenOrdersAccount, market: MarketAccount, userBaseAccount: PublicKey, userQuoteAccount: PublicKey, baseAmount: BN, quoteAmount: BN): Promise;
depositNativeIx(openOrdersPublicKey: PublicKey, openOrdersAccount: OpenOrdersAccount, market: MarketAccount, userBaseAccount: PublicKey, userQuoteAccount: PublicKey, baseAmount: BN, quoteAmount: BN): Promise<[TransactionInstruction[], Signer[]]>;
decodeMarket(data: Buffer): any;
placeOrderIx(openOrdersPublicKey: PublicKey, marketPublicKey: PublicKey, market: MarketAccount, userTokenAccount: PublicKey, openOrdersAdmin: PublicKey | null, args: PlaceOrderArgs, remainingAccounts: PublicKey[], openOrdersDelegate?: Keypair): Promise<[TransactionInstruction, Signer[]]>;
placeOrderPeggedIx(openOrdersPublicKey: PublicKey, marketPublicKey: PublicKey, market: MarketAccount, userTokenAccount: PublicKey, openOrdersAdmin: PublicKey | null, args: PlaceOrderPeggedArgs, remainingAccounts: PublicKey[], openOrdersDelegate?: Keypair): Promise<[TransactionInstruction, Signer[]]>;
placeTakeOrderIx(marketPublicKey: PublicKey, market: MarketAccount, userBaseAccount: PublicKey, userQuoteAccount: PublicKey, openOrdersAdmin: PublicKey | null, args: PlaceOrderArgs, remainingAccounts: PublicKey[], openOrdersDelegate?: Keypair): Promise<[TransactionInstruction, Signer[]]>;
cancelAllAndPlaceOrdersIx(openOrdersPublicKey: PublicKey, marketPublicKey: PublicKey, market: MarketAccount, userBaseAccount: PublicKey, userQuoteAccount: PublicKey, openOrdersAdmin: PublicKey | null, orderType: PlaceOrderType, bids: PlaceMultipleOrdersArgs[], asks: PlaceMultipleOrdersArgs[], limit?: number, openOrdersDelegate?: Keypair): Promise<[TransactionInstruction, Signer[]]>;
cancelOrderById(openOrdersPublicKey: PublicKey, openOrdersAccount: OpenOrdersAccount, market: MarketAccount, orderId: BN, openOrdersDelegate?: Keypair): Promise<[TransactionInstruction, Signer[]]>;
cancelOrderByClientId(openOrdersPublicKey: PublicKey, openOrdersAccount: OpenOrdersAccount, market: MarketAccount, clientOrderId: BN, openOrdersDelegate?: Keypair): Promise<[TransactionInstruction, Signer[]]>;
closeOpenOrdersIndexerIx(owner: Keypair, market: MarketAccount, openOrdersIndexer?: PublicKey): Promise<[TransactionInstruction, Signer[]]>;
settleFundsIx(openOrdersPublicKey: PublicKey, openOrdersAccount: OpenOrdersAccount, marketPublicKey: PublicKey, market: MarketAccount, userBaseAccount: PublicKey, userQuoteAccount: PublicKey, referrerAccount: PublicKey | null, penaltyPayer: PublicKey | null, openOrdersDelegate?: Keypair): Promise<[TransactionInstruction, Signer[]]>;
closeOpenOrdersAccountIx(owner: Keypair, openOrdersPublicKey: PublicKey, solDestination?: PublicKey, openOrdersIndexer?: PublicKey): Promise<[TransactionInstruction, Signer[]]>;
consumeEventsIx(marketPublicKey: PublicKey, market: MarketAccount, limit: BN, remainingAccounts: PublicKey[]): Promise;
consumeEventsForAccountIx(marketPublicKey: PublicKey, market: MarketAccount, openOrdersAccount: PublicKey): Promise;
consumeGivenEventsIx(marketPublicKey: PublicKey, market: MarketAccount, slots: BN[], remainingAccounts: PublicKey[]): Promise;
pruneOrdersIx(marketPublicKey: PublicKey, market: MarketAccount, openOrdersPublicKey: PublicKey, limit: number, closeMarketAdmin?: Keypair | null): Promise<[TransactionInstruction, Signer[]]>;
getAccountsToConsume(market: MarketAccount): Promise;
getSlotsToConsume(key: PublicKey, market: MarketAccount): Promise;
}
export declare function getFilteredProgramAccounts(connection: Connection, programId: PublicKey, filters: any): Promise;
}>>;
//# sourceMappingURL=client.d.ts.map