import type { Dispatch, SetStateAction, EffectCallback, DependencyList } from '../core'; import type { Context } from './context'; export declare function useState(initial: S | (() => S)): [S, Dispatch>]; export declare function useReducer(reducer: (s: S, a: A) => S, initial: any, init?: (a: any) => S): [S, Dispatch]; export declare function useEffect(create: EffectCallback, deps?: DependencyList): void; export declare function useLayoutEffect(create: EffectCallback, deps?: DependencyList): void; export declare function useInsertionEffect(create: EffectCallback, deps?: DependencyList): void; export declare function useRef(initial: T): { current: T; }; export declare function useRef(initial: T | null): { current: T | null; }; export declare function useRef(): { current: T | undefined; }; export declare function useMemo(factory: () => T, deps?: DependencyList): T; export declare function useCallback(fn: T, deps?: DependencyList): T; export declare function useContext(ctx: Context): T; export declare function useImperativeHandle(ref: any, factory: () => T, deps?: DependencyList): void; export declare function useDebugValue(value: T, formatter?: (v: T) => any): void; export declare function useId(): string; export declare function useTransition(): [boolean, (fn: () => void) => void]; export declare function useDeferredValue(v: T): T; export declare function useSyncExternalStore(subscribe: (cb: () => void) => () => void, getSnapshot: () => T, getServerSnapshot?: () => T): T; export declare function use(resource: PromiseLike | { _currentValue: T; } | { $$typeof: symbol; _currentValue: T; }): T; export declare function startTransition(fn: () => void): void; export declare function useActionState(_action: (state: Awaited, payload: P) => S | Promise, initial: Awaited): [Awaited, (payload: P) => void, boolean]; export declare function useFormStatus(): { pending: boolean; data: any; method: any; action: any; }; export declare function useOptimistic(state: S, _updateFn?: (s: S, a: A) => S): [S, (action: A) => void]; export declare function useEffectEvent(fn: (...args: Args) => Return): (...args: Args) => Return; export declare function useSyncExternalStoreWithSelector(subscribe: (cb: () => void) => () => void, getSnapshot: () => Snapshot, getServerSnapshot: (() => Snapshot) | undefined, selector: (snapshot: Snapshot) => Selection, isEqual?: (a: Selection, b: Selection) => boolean): Selection;