import type { AssetAccount, AssetAccountsQuery, AssetAccountRef, TradeQuoteAssetKind, LinkedAccount, LinkedAccountRef, LinkedAccountStatusRef, PresentationBackground, PresentationStyle, Service, Trade, TradeRef, TradesQuery, TradeQuote, TradeQuotesRequest, TradeAssetKind } from "./types"; export type CandleContextValue = { presentCandleTradeExecutionSheet: (input: { tradeQuote: TradeQuote; presentationBackground?: PresentationBackground; completion?: (result: ({ kind: "success"; } & Trade) | { kind: "failure"; error: Error; }) => void; }) => void; presentCandleLinkSheet: (input: { services?: Service[]; cornerRadius?: number; customerName?: string; showSandbox?: boolean; showDynamicLoading?: boolean; presentationBackground?: PresentationBackground; presentationStyle?: PresentationStyle; onSuccess: (account: LinkedAccount) => void; }) => void; getLinkedAccounts: () => Promise; getLinkedAccount: (ref: LinkedAccountRef) => Promise; unlinkAccount: (ref: LinkedAccountRef) => Promise; createUser: (input: { appUserID: string; }) => Promise; deleteUser: () => Promise; getAssetAccounts: (query?: AssetAccountsQuery) => Promise<{ assetAccounts: AssetAccount[]; linkedAccounts: LinkedAccountStatusRef[]; }>; getAssetAccount: (ref: AssetAccountRef) => Promise; getTrades: (query?: TradesQuery) => Promise<{ trades: Trade[]; linkedAccounts: LinkedAccountStatusRef[]; }>; getTrade: (input: TradeRef) => Promise>; getTradeQuotes: (request: TradeQuotesRequest) => Promise<{ tradeQuotes: TradeQuote[]; linkedAccounts: LinkedAccountStatusRef[]; }>; /** * This programmatic API is only available for customers on the Candle Enterprise Plan. * You can always execute trades by calling `presentCandleTradeExecutionSheet` which obtains user permission for the action. */ executeTrade: (tradeQuote: TradeQuote) => Promise>; }; export declare const CandleContext: import("react").Context; export declare const useCandle: () => CandleContextValue; //# sourceMappingURL=context.d.ts.map