import { PublicKey } from "@solana/web3.js"; import BN from "bn.js"; import * as types from "../types"; export interface EscrowAccountFields { mint: PublicKey; tokenAcct: PublicKey; locator: types.XTokenLocatorFields; tokenReturnStrategy: types.TokenReturnStrategyKind; hasReturned: types.HasReturnedKind; tokens: BN; } export interface EscrowAccountJSON { mint: string; tokenAcct: string; locator: types.XTokenLocatorJSON; tokenReturnStrategy: types.TokenReturnStrategyJSON; hasReturned: types.HasReturnedJSON; tokens: string; } export declare class EscrowAccount { readonly mint: PublicKey; readonly tokenAcct: PublicKey; readonly locator: types.XTokenLocator; readonly tokenReturnStrategy: types.TokenReturnStrategyKind; readonly hasReturned: types.HasReturnedKind; readonly tokens: BN; constructor(fields: EscrowAccountFields); static layout(property?: string): any; static fromDecoded(obj: any): types.EscrowAccount; static toEncodable(fields: EscrowAccountFields): { mint: PublicKey; tokenAcct: PublicKey; locator: { address: { inner: number[]; }; chainId: number; }; tokenReturnStrategy: { All: {}; } | { Return: { amt: BN; }; } | { Leave: { amt: BN; }; }; hasReturned: { ReturnedToEvm: { seq: BN; }; } | { ReturnedToSolana: {}; } | { NothingToReturn: {}; } | { NotReturned: {}; }; tokens: BN; }; toJSON(): EscrowAccountJSON; static fromJSON(obj: EscrowAccountJSON): EscrowAccount; toEncodable(): { mint: PublicKey; tokenAcct: PublicKey; locator: { address: { inner: number[]; }; chainId: number; }; tokenReturnStrategy: { All: {}; } | { Return: { amt: BN; }; } | { Leave: { amt: BN; }; }; hasReturned: { ReturnedToEvm: { seq: BN; }; } | { ReturnedToSolana: {}; } | { NothingToReturn: {}; } | { NotReturned: {}; }; tokens: BN; }; }