import * as React from 'react'; /** * Like `Array.prototype.join`, but for React nodes. */ export declare function interleave(items: React.ReactNode[], separator: React.ReactNode): React.ReactNode; /** * Consume a context but throw when used outside of a provider. */ export declare function useNonNullableContext(context: React.Context, name?: string): NonNullable; /** * Context that throws when used outside of a provider. */ export declare function createProvidedContext(name?: string): [() => T, React.ComponentType>]; export declare function useAssertedContext(context: React.Context): T; /** * Debugging tool that logs updates to props. */ export declare function useTraceUpdates

(prefix: string, props: P): void; export default function getComponentDisplayName(Component: React.ComponentType | string): string; /** * Create a shared state to be used across the application. Returns a useState hook that * is synchronized on the same state between all instances where it is called. */ export declare function createGlobalState(initialState: T): { getState: () => T; setState: (newState: T | ((oldValue: T) => T)) => void; useValue: () => T; useState: () => [T, React.Dispatch>]; subscribe: (cb: (state: T) => void) => () => void; };