import * as React from 'react'; import React__default from 'react'; import * as class_variance_authority_types from 'class-variance-authority/types'; import * as ToastPrimitives from '@radix-ui/react-toast'; import { VariantProps } from 'class-variance-authority'; import * as react_hook_form from 'react-hook-form'; import { FieldValues, FieldPath, ControllerProps } from 'react-hook-form'; import * as _radix_ui_react_slot from '@radix-ui/react-slot'; import * as LabelPrimitive from '@radix-ui/react-label'; import * as SelectPrimitive from '@radix-ui/react-select'; import * as TabsPrimitive from '@radix-ui/react-tabs'; import * as TooltipPrimitive from '@radix-ui/react-tooltip'; import * as HoverCardPrimitive from '@radix-ui/react-hover-card'; declare const Toast$1: React.ForwardRefExoticComponent, "ref"> & VariantProps<(props?: ({ variant?: "default" | "destructive" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes>; declare const ToastAction: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; type ToastProps = React.ComponentPropsWithoutRef; type ToastActionElement = React.ReactElement; interface CustomToastProps extends ToastProps { style?: React.CSSProperties; } type ToasterToast = ToastProps & { id: string; title?: React.ReactNode; description?: React.ReactNode; action?: ToastActionElement; }; declare const _actionTypes: { readonly ADD_TOAST: "ADD_TOAST"; readonly UPDATE_TOAST: "UPDATE_TOAST"; readonly DISMISS_TOAST: "DISMISS_TOAST"; readonly REMOVE_TOAST: "REMOVE_TOAST"; }; type ActionType = typeof _actionTypes; type Action = { type: ActionType['ADD_TOAST']; toast: ToasterToast; } | { type: ActionType['UPDATE_TOAST']; toast: Partial; } | { type: ActionType['DISMISS_TOAST']; toastId?: ToasterToast['id']; } | { type: ActionType['REMOVE_TOAST']; toastId?: ToasterToast['id']; }; interface State { toasts: ToasterToast[]; } declare const reducer: (state: State, action: Action) => State; type Toast = Omit; declare function toast({ ...props }: Toast & CustomToastProps): { id: string; dismiss: () => void; update: (propsArg: ToasterToast) => void; }; declare function useToast(): { toast: typeof toast; dismiss: (toastId?: string) => void; toasts: ToasterToast[]; }; declare function useIsMobile(): boolean; declare function useIsBelow(breakpoint: number): boolean; interface LiquidityFormValues { depositAmount: string; lowPrice: string; highPrice: string; slippage: string; } interface UseLiquidityFormProps { lowPrice?: string; highPrice?: string; } declare function useLiquidityForm({ lowPrice, highPrice, }?: UseLiquidityFormProps): { onSubmit: (data: LiquidityFormValues) => void; watch: react_hook_form.UseFormWatch; getValues: react_hook_form.UseFormGetValues; getFieldState: react_hook_form.UseFormGetFieldState; setError: react_hook_form.UseFormSetError; clearErrors: react_hook_form.UseFormClearErrors; setValue: react_hook_form.UseFormSetValue; trigger: react_hook_form.UseFormTrigger; formState: react_hook_form.FormState; resetField: react_hook_form.UseFormResetField; reset: react_hook_form.UseFormReset; handleSubmit: react_hook_form.UseFormHandleSubmit; unregister: react_hook_form.UseFormUnregister; control: react_hook_form.Control; register: react_hook_form.UseFormRegister; setFocus: react_hook_form.UseFormSetFocus; }; interface TradeFormValues { size: string; slippage: string; direction: 'Long' | 'Short'; } declare function useTradeForm(): { onSubmit: (data: TradeFormValues) => void; watch: react_hook_form.UseFormWatch; getValues: react_hook_form.UseFormGetValues; getFieldState: react_hook_form.UseFormGetFieldState; setError: react_hook_form.UseFormSetError; clearErrors: react_hook_form.UseFormClearErrors; setValue: react_hook_form.UseFormSetValue; trigger: react_hook_form.UseFormTrigger; formState: react_hook_form.FormState; resetField: react_hook_form.UseFormResetField; reset: react_hook_form.UseFormReset; handleSubmit: react_hook_form.UseFormHandleSubmit; unregister: react_hook_form.UseFormUnregister; control: react_hook_form.Control; register: react_hook_form.UseFormRegister; setFocus: react_hook_form.UseFormSetFocus; }; declare const buttonVariants: (props?: ({ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined; size?: "default" | "icon" | "sm" | "xs" | "lg" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; interface ButtonProps extends React.ButtonHTMLAttributes, VariantProps { asChild?: boolean; } declare const Button: React.ForwardRefExoticComponent>; declare const Form: (props: react_hook_form.FormProviderProps) => React.JSX.Element; declare const FormField: = FieldPath>({ ...props }: ControllerProps) => React.JSX.Element; declare const useFormField: () => { invalid: boolean; isDirty: boolean; isTouched: boolean; isValidating: boolean; error?: react_hook_form.FieldError; id: string; name: string; formItemId: string; formDescriptionId: string; formMessageId: string; }; declare const FormItem: React.ForwardRefExoticComponent & React.RefAttributes>; declare const FormLabel: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const FormControl: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const FormDescription: React.ForwardRefExoticComponent & React.RefAttributes>; declare const FormMessage: React.ForwardRefExoticComponent & React.RefAttributes>; declare const inputVariants: (props?: ({ inputSize?: "default" | "sm" | "xs" | "lg" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; interface InputProps extends React.InputHTMLAttributes, VariantProps { endAdornment?: React.ReactNode; } declare const Input: React.ForwardRefExoticComponent>; declare const Select: React.FC; declare const SelectGroup: React.ForwardRefExoticComponent>; declare const SelectValue: React.ForwardRefExoticComponent>; declare const SelectTrigger: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const SelectScrollUpButton: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const SelectScrollDownButton: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const SelectContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const SelectLabel: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const SelectItem: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const SelectSeparator: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const Label: React.ForwardRefExoticComponent, "ref"> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & React.RefAttributes>; declare const Tabs: React.ForwardRefExoticComponent>; declare const TabsList: React.ForwardRefExoticComponent, "ref"> & VariantProps<(props?: ({ size?: "default" | "sm" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes>; declare const TabsTrigger: React.ForwardRefExoticComponent, "ref"> & VariantProps<(props?: ({ size?: "default" | "sm" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes>; declare const TabsContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const TooltipProvider: React.FC; type TooltipProps = TooltipPrimitive.TooltipProps & { /** * Force using desktop Tooltip behavior even on touch devices. */ forceTooltipOnTouch?: boolean; }; declare const Tooltip: ({ children, delayDuration, forceTooltipOnTouch, open, defaultOpen, onOpenChange, ..._props }: TooltipProps) => React.JSX.Element; declare const TooltipTrigger: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const TooltipContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const Textarea: React.ForwardRefExoticComponent, HTMLTextAreaElement>, "ref"> & React.RefAttributes>; declare const HoverCard: React.FC; declare const HoverCardTrigger: React.ForwardRefExoticComponent>; declare const HoverCardContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; interface TradeFormProps { onTradeSubmit: (data: TradeFormValues) => Promise; collateralAssetTicker?: string; walletBalanceDisplay?: string; initialDirection?: 'Long' | 'Short'; initialSize?: string; initialSlippage?: number; getEstimatedCost?: (size: string, direction: 'Long' | 'Short') => Promise; isLoading?: boolean; isApproving?: boolean; needsApproval?: boolean; submitError?: Error | null; } declare function TradeForm({ onTradeSubmit, collateralAssetTicker, walletBalanceDisplay, initialDirection, initialSize, initialSlippage, getEstimatedCost, isLoading, isApproving, needsApproval, submitError, }: TradeFormProps): React.JSX.Element; interface LiquidityFormProps { onLiquiditySubmit?: (data: LiquidityFormValues) => void; virtualBaseTokensName?: string; virtualQuoteTokensName?: string; isConnected?: boolean; onConnectWallet?: () => void; } declare function LiquidityForm({ onLiquiditySubmit, virtualBaseTokensName, virtualQuoteTokensName, isConnected, onConnectWallet, }: LiquidityFormProps): React.JSX.Element; interface NumberDisplayProps { value: number | string | bigint; precision?: number; padZeros?: boolean; } declare const NumberDisplay: React__default.FC; declare const SlippageTolerance: React__default.FC; interface ColoredRadioOptionProps { label: React.ReactNode; color?: string; variant?: 'yes' | 'no'; checked: boolean; onClick?: (event: React.MouseEvent) => void; className?: string; disabled?: boolean; } declare const ColoredRadioOption: React.FC; interface SearchBarProps { isMobile: boolean; value: string; onChange: (event: React.ChangeEvent) => void; } declare const SearchBar: React.FC; export { Button, type ButtonProps, ColoredRadioOption, type ColoredRadioOptionProps, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, type InputProps, Label, LiquidityForm, type LiquidityFormProps, type LiquidityFormValues, NumberDisplay, type NumberDisplayProps, SearchBar, type SearchBarProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SlippageTolerance, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TradeForm, type TradeFormProps, type TradeFormValues, type UseLiquidityFormProps, buttonVariants, reducer, toast, useFormField, useIsBelow, useIsMobile, useLiquidityForm, useToast, useTradeForm };