///
import { BN } from "@project-serum/anchor";
import { PublicKey } from "@solana/web3.js";
import { TransactionBuilder } from "@orca-so/common-sdk";
import { EscrowContext, PDA } from "../";
import { ConfigDataInfo, OfferDataInfo } from "../types";
export declare class OfferClient {
ctx: EscrowContext;
data: OfferDataInfo;
configData: ConfigDataInfo;
publicKey: PublicKey;
pda: PDA;
marketId: string;
configId: string;
constructor(ctx: EscrowContext, publicKey: PublicKey, data: OfferDataInfo, configData: ConfigDataInfo, pda: PDA, marketId: string, configId: string);
static getOffer(ctx: EscrowContext, configId: string, marketId: string, offerId: BN): Promise;
static makeOffer(ctx: EscrowContext, marketId: string, configId: string, side: object, maker: PublicKey, tokenMint: PublicKey, bondType: object, minTradeSize: BN, tokenAmount: BN, rate: number, fiatCurrency: string, encryptedBankName: string | null, encryptedAccountNumber: string | null, encryptedAccountName: string | null, nonce: string | null): Promise<{
tx: TransactionBuilder;
id: BN;
}>;
static makeOfferOracle(ctx: EscrowContext, marketId: string, configId: string, side: object, maker: PublicKey, tokenMint: PublicKey, bondType: object, minTradeSize: BN, tokenAmount: BN, rate: number, fiatCurrency: string, oracleProduct: PublicKey, oraclePrice: PublicKey, encryptedBankName: string | null, encryptedAccountNumber: string | null, encryptedAccountName: string | null, nonce: string | null): Promise<{
tx: TransactionBuilder;
id: BN;
}>;
cancelOffer(): Promise<{
tx: TransactionBuilder;
}>;
redeemOffer(): Promise<{
tx: TransactionBuilder;
}>;
updateOffer(rate?: number | null, bankName?: string | null, accountName?: string | null, accountNumber?: string | null, nonce?: string | null): Promise<{
tx: TransactionBuilder;
}>;
}