import type { Fiber, Hook } from '../core'; export interface Dispatcher { useState(initial: S | (() => S)): [S, (s: S | ((p: S) => S)) => void]; useReducer(reducer: (s: S, a: A) => S, initial: S | any, init?: (a: any) => S): [S, (a: A) => void]; useEffect(create: () => any, deps?: ReadonlyArray): void; useLayoutEffect(create: () => any, deps?: ReadonlyArray): void; useInsertionEffect(create: () => any, deps?: ReadonlyArray): void; useRef(initial: T): { current: T; }; useMemo(factory: () => T, deps?: ReadonlyArray): T; useCallback(fn: T, deps?: ReadonlyArray): T; useContext(ctx: any): T; useImperativeHandle(ref: any, factory: () => T, deps?: ReadonlyArray): void; useDebugValue(value: T, formatter?: (v: T) => any): void; useId(): string; useTransition(): [boolean, (fn: () => void) => void]; useDeferredValue(v: T): T; useSyncExternalStore(subscribe: (cb: () => void) => () => void, getSnapshot: () => T, getServerSnapshot?: () => T): T; use(promiseOrContext: any): T; } interface SharedInternals { H: Dispatcher | null; F: Fiber | null; K: Hook | null; I: number; } export declare const ReactSharedInternals: SharedInternals; export declare function getDispatcher(): Dispatcher; export {};