import type { Order } from '@lifi/sdk'; import type { PropsWithChildren } from 'react'; import type { StoreApi, UseBoundStore } from 'zustand'; import type { Appearance, WidgetConfig } from '../../types'; export type ValueSetter = (key: K, value: S[Extract]) => void; export type ValuesSetter = (values: Record]>) => void; export type SettingsToolType = 'Bridges' | 'Exchanges'; export declare const SettingsToolTypes: SettingsToolType[]; export interface SettingsProps { appearance: Appearance; gasPrice?: string; language?: string; routePriority?: Order; enabledAutoRefuel: boolean; showDestinationWallet: boolean; slippage?: string; enabledBridges: string[]; _enabledBridges?: Record; enabledExchanges: string[]; _enabledExchanges?: Record; } export interface SettingsState extends SettingsProps { setValue: ValueSetter; setValues: ValuesSetter; initializeTools(toolType: SettingsToolType, tools: string[], reset?: boolean): void; setTools(toolType: SettingsToolType, tools: string[], availableTools: string[]): void; reset(config: WidgetConfig, bridges: string[], exchanges: string[]): void; } export interface SendToWalletState { showSendToWallet: boolean; showSendToWalletDirty: boolean; } export interface SendToWalletStore extends SendToWalletState { toggleSendToWallet(): void; setSendToWallet(value: boolean): void; } export interface SplitSubvariantState { state?: 'swap' | 'bridge'; setState(state: 'swap' | 'bridge'): void; } export type SplitSubvariantStore = UseBoundStore>; export interface SplitSubvariantProps { state?: 'swap' | 'bridge'; } export type SplitSubvariantProviderProps = PropsWithChildren;