///
import { PublicKey, Connection } from "@solana/web3.js";
import * as types from "../types";
export interface EscrowStateFields {
marker: types.EscrowStateMarkerKind;
inputTokens: Array;
outputTokens: Array;
foreignProxyContract: types.ForeignAddrFields;
header: types.HeaderFields;
custodySigner: PublicKey;
custodyBump: Array;
originChainId: number;
}
export interface EscrowStateJSON {
marker: types.EscrowStateMarkerJSON;
inputTokens: Array;
outputTokens: Array;
foreignProxyContract: types.ForeignAddrJSON;
header: types.HeaderJSON;
custodySigner: string;
custodyBump: Array;
originChainId: number;
}
export declare class EscrowState {
readonly marker: types.EscrowStateMarkerKind;
readonly inputTokens: Array;
readonly outputTokens: Array;
readonly foreignProxyContract: types.ForeignAddr;
readonly header: types.Header;
readonly custodySigner: PublicKey;
readonly custodyBump: Array;
readonly originChainId: number;
static readonly discriminator: Buffer;
static readonly layout: any;
constructor(fields: EscrowStateFields);
static fetch(c: Connection, address: PublicKey): Promise;
static fetchMultiple(c: Connection, addresses: PublicKey[]): Promise>;
static decode(data: Buffer): EscrowState;
toJSON(): EscrowStateJSON;
static fromJSON(obj: EscrowStateJSON): EscrowState;
}