import { Amount, Memo } from '../common/types'; declare type Outcome = { result: string; ledgerVersion: number; indexInLedger: number; fee: string; balanceChanges: { [key: string]: [{ currency: string; counterparty?: string; value: string; }]; }; orderbookChanges: Object; timestamp?: string; }; declare type Adjustment = { address: string; amount: { currency: string; counterparty?: string; value: string; }; tag?: number; }; declare type Trustline = { currency: string; counterparty: string; limit: string; qualityIn?: number; qualityOut?: number; ripplingDisabled?: boolean; authorized?: boolean; frozen?: boolean; }; declare type Settings = { passwordSpent?: boolean; requireDestinationTag?: boolean; requireAuthorization?: boolean; disallowIncomingCSC?: boolean; disableMasterKey?: boolean; enableTransactionIDTracking?: boolean; noFreeze?: boolean; globalFreeze?: boolean; defaultCasinocoin?: boolean; emailHash?: string; messageKey?: string; domain?: string; transferRate?: number; regularKey?: string; }; declare type OrderCancellation = { orderSequence: number; }; declare type Payment = { source: Adjustment; destination: Adjustment; paths?: string; memos?: Array; invoiceID?: string; allowPartialPayment?: boolean; noDirectCasinocoin?: boolean; limitQuality?: boolean; }; declare type PaymentTransaction = { type: string; specification: Payment; outcome: Outcome; id: string; address: string; sequence: number; }; export declare type Order = { direction: string; quantity: Amount; totalPrice: Amount; immediateOrCancel?: boolean; fillOrKill?: boolean; passive?: boolean; expirationTime?: string; orderToReplace?: number; memos?: Memo[]; }; declare type OrderTransaction = { type: string; specification: Order; outcome: Outcome; id: string; address: string; sequence: number; }; declare type OrderCancellationTransaction = { type: string; specification: OrderCancellation; outcome: Outcome; id: string; address: string; sequence: number; }; declare type TrustlineTransaction = { type: string; specification: Trustline; outcome: Outcome; id: string; address: string; sequence: number; }; declare type SettingsTransaction = { type: string; specification: Settings; outcome: Outcome; id: string; address: string; sequence: number; }; export declare type TransactionOptions = { minLedgerVersion?: number; maxLedgerVersion?: number; }; export declare type KYCSet = { type: string; kycAccount: string; destination: string; verified: boolean; verifications: string[]; }; declare type KYC = { type: string; specification?: KYCSet; outcome: Outcome; id: string; address: string; sequence: number; }; export declare type TransactionType = PaymentTransaction | OrderTransaction | OrderCancellationTransaction | TrustlineTransaction | SettingsTransaction | KYC; export declare type TransactionResponse = TransactionType & { hash: string; ledger_index: number; meta: any; validated?: boolean; }; export {};