import type { ACHDetails, ActiveLinkedAccountDetails, FiatAsset, FiatAssetQuoteRequest, FiatAssetRef, FiatMarketAccountKind, LinkedAccount as _LinkedAccount, MarketAssetQuoteRequest, MarketTradeAsset, MarketTradeAssetRef, MerchantCounterparty, NothingAsset, NothingAssetQuoteRequest, NothingAssetRef, OtherAsset, OtherAssetRef, OtherAssetQuoteRequest, Service, ServiceCounterparty, TradeState, TransportAccountKind, TransportAsset, TransportAssetQuoteRequest, TransportAssetRef, UserCounterparty, WireDetails, Trade as _Trade, TradeQuotesRequest as _TradeQuotesRequest, LinkedAccountDetails as _LinkedAccountDetails, AssetAccount as _AssetAccount, TradeRef as _TradeRef, TradeAssetRef as _TradeAssetRef, TradeAsset as _TradeAsset, TradeQuote as _TradeQuote, Counterparty as _Counterparty, CounterpartyQuoteRequest as _CounterpartyQuoteRequest, TradeAssetQuoteRequest as _TradeAssetQuoteRequest, InactiveLinkedAccountDetails, UnavailableLinkedAccountDetails, TradeAssetKind, MerchantCounterpartyQuoteRequest, ServiceCounterpartyQuoteRequest, UserCounterpartyQuoteRequest } from "./specs/RNCandle.nitro"; export type { ACHDetails, ActiveLinkedAccountDetails, FiatAsset, FiatAssetQuoteRequest, FiatAssetRef, FiatMarketAccountKind, MarketAssetQuoteRequest, UserCounterpartyQuoteRequest, OtherAssetQuoteRequest, MerchantCounterpartyQuoteRequest, ServiceCounterpartyQuoteRequest, MarketTradeAsset, MarketTradeAssetRef, MerchantCounterparty, NothingAsset, NothingAssetQuoteRequest, NothingAssetRef, OtherAsset, OtherAssetRef, Service, ServiceCounterparty, TradeState, TransportAccountKind, TransportAsset, TradesQuery, TransportAssetQuoteRequest, TransportAssetRef, UserCounterparty, WireDetails, PresentationBackground, PresentationStyle, LinkedAccountRef, AssetAccountsQuery, AssetAccountRef, TradeAssetKind, LinkedAccountStatusRef, } from "./specs/RNCandle.nitro"; export type TradeQuoteAssetKind = "nothing" | "transport" | "fiat" | "stock" | "crypto"; export type TradeAssetQuoteRequest = ({ assetKind: "nothing"; } & NothingAssetQuoteRequest) | ({ assetKind: "transport"; } & TransportAssetQuoteRequest) | ({ assetKind: "fiat"; } & FiatAssetQuoteRequest) | ({ assetKind: "stock" | "crypto"; } & MarketAssetQuoteRequest) | ({ assetKind: "other"; } & OtherAssetQuoteRequest); export type CounterpartyQuoteRequest = ({ kind: "user"; } & UserCounterpartyQuoteRequest) | ({ kind: "merchant"; } & MerchantCounterpartyQuoteRequest) | ({ kind: "service"; } & ServiceCounterpartyQuoteRequest); export type TradeAsset = ({ assetKind: "nothing"; } & NothingAsset) | ({ assetKind: "other"; } & OtherAsset) | ({ assetKind: "transport"; } & TransportAsset) | ({ assetKind: "fiat"; } & FiatAsset) | ({ assetKind: "stock" | "crypto"; } & MarketTradeAsset); export type Counterparty = ({ kind: "merchant"; } & MerchantCounterparty) | ({ kind: "user"; } & UserCounterparty) | ({ kind: "service"; } & ServiceCounterparty); export type AssetAccount = { serviceAccountID: string; nickname: string; linkedAccountID: string; service: Service; } & ({ assetKind: "fiat"; accountKind: FiatMarketAccountKind; currencyCode: string; balance?: number; ach?: ACHDetails; wire?: WireDetails; } | { assetKind: "stock" | "crypto"; accountKind: FiatMarketAccountKind; } | { assetKind: "transport"; accountKind: TransportAccountKind; }); export type TradeAssetRef = ({ assetKind: "transport"; } & TransportAssetRef) | ({ assetKind: "nothing"; } & NothingAssetRef) | ({ assetKind: "other"; } & OtherAssetRef) | ({ assetKind: "fiat"; } & FiatAssetRef) | ({ assetKind: "stock" | "crypto"; } & MarketTradeAssetRef); export type LinkedAccountDetails = ({ state: "active"; } & ActiveLinkedAccountDetails) | ({ state: "inactive"; } & InactiveLinkedAccountDetails) | ({ state: "unavailable"; } & UnavailableLinkedAccountDetails); export type TradeQuotesRequest = { linkedAccountIDs?: string; gained: TradeAssetQuoteRequest & { assetKind: GainedAssetKind; }; lost: TradeAssetQuoteRequest & { assetKind: LostAssetKind; }; counterparty?: CounterpartyQuoteRequest; }; export type TradeRef = { lost: TradeAssetRef; gained: TradeAssetRef; }; export type TradeQuote = { gained: TradeAsset & { assetKind: GainedAssetKind; }; lost: TradeAsset & { assetKind: LostAssetKind; }; counterparty: Counterparty; context: string; expirationDateTime: string; }; export type Trade = { dateTime: string; state: TradeState; counterparty: Counterparty; gained: TradeAsset & { assetKind: GainedAssetKind; }; lost: TradeAsset & { assetKind: LostAssetKind; }; }; export type LinkedAccount = Omit<_LinkedAccount, "details"> & { details: LinkedAccountDetails; }; export declare const toNativeTradeAssetRef: (tradeAssetRef: TradeAssetRef) => _TradeAssetRef; export declare const toNativeTradeAsset: (tradeAsset: TradeAsset) => _TradeAsset; export declare const toNativeCounterparty: (counterparty: Counterparty) => _Counterparty; export declare const toNativeTradeAssetQuoteRequest: (tradeAssetQuoteRequest: TradeAssetQuoteRequest) => _TradeAssetQuoteRequest; export declare const toNativeCounterpartyQuoteRequest: (counterpartyQuoteRequest: CounterpartyQuoteRequest) => _CounterpartyQuoteRequest; export declare const toNativeTradeQuote: (tradeQuote: TradeQuote) => _TradeQuote; export declare const toNativeTradeQuoteRequest: (tradeQuoteRequest: TradeQuotesRequest) => _TradeQuotesRequest; export declare const toNativeTradeRef: (tradeRef: TradeRef) => _TradeRef; export declare const fromNativeTradeAsset: (nativeTradeAsset: _TradeAsset) => TradeAsset; export declare const fromNativeCounterparty: (nativeCounterparty: _Counterparty) => Counterparty; export declare const fromNativeAssetAccount: (nativeAssetAccount: _AssetAccount) => AssetAccount; export declare const fromNativeLinkedAccountDetails: (nativeLinkedAccountDetails: _LinkedAccountDetails) => LinkedAccountDetails; export declare const fromNativeLinkedAccount: (nativeLinkedAccount: _LinkedAccount) => LinkedAccount; export declare const fromNativeTrade: (nativeTrade: _Trade) => Trade; export declare const fromNativeTradeAndQuote: (tradeQuote: TradeQuote) => (nativeTrade: _Trade) => Trade; export declare const fromNativeTradeQuoteAndRequest: (tradeQuoteRequest: TradeQuotesRequest) => (nativeTradeQuote: _TradeQuote) => TradeQuote; export declare const assertTradeAsset: (input: { tradeAsset: TradeAsset; expectedAssetKind: ExpectedAssetKind; }) => TradeAsset & { assetKind: ExpectedAssetKind; }; //# sourceMappingURL=types.d.ts.map