import type { JSX } from '../base'; type UpdateStateFunction = (newState: T | ((currentState: T) => T)) => void; export declare const STASH_EFFECT = 1; export type EffectData = [ readonly unknown[] | undefined, // deps (() => void | (() => void)) | undefined, // layout effect (() => void) | undefined, // cleanup (() => void) | undefined, // effect (() => void) | undefined ]; export declare const startViewTransition: (callback: () => void) => void; export declare const useViewTransition: () => [boolean, (callback: () => void) => void]; export declare const startTransition: (callback: () => void) => void; export declare const useTransition: () => [boolean, (callback: () => void | Promise) => void]; type UseDeferredValue = (value: T, initialValue?: T) => T; export declare const useDeferredValue: UseDeferredValue; type UseStateType = { (initialState: T | (() => T)): [T, UpdateStateFunction]; (): [T | undefined, UpdateStateFunction]; }; export declare const useState: UseStateType; export declare const useReducer: (reducer: (state: T, action: A) => T, initialArg: T, init?: (initialState: T) => T) => [T, (action: A) => void]; export declare const useEffect: (effect: () => void | (() => void), deps?: readonly unknown[]) => void; export declare const useLayoutEffect: (effect: () => void | (() => void), deps?: readonly unknown[]) => void; export declare const useInsertionEffect: (effect: () => void | (() => void), deps?: readonly unknown[]) => void; export declare const useCallback: (callback: T, deps: readonly unknown[]) => T; export type RefObject = { current: T | null; }; export declare const useRef: (initialValue: T | null) => RefObject; export declare const use: (promise: Promise) => T; export declare const useMemo: (factory: () => T, deps: readonly unknown[]) => T; export declare const useId: () => string; export declare const useDebugValue: (_value: unknown, _formatter?: (value: unknown) => string) => void; export declare const createRef: () => RefObject; export declare const forwardRef: (Component: (props: P, ref?: RefObject) => JSX.Element) => ((props: P & { ref?: RefObject; }) => JSX.Element); export declare const useImperativeHandle: (ref: RefObject, createHandle: () => T, deps: readonly unknown[]) => void; export declare const useSyncExternalStore: (subscribe: (callback: () => void) => () => void, getSnapshot: () => T, getServerSnapshot?: () => T) => T; export {};