import React from "react"; declare const useNumber: (initialValue?: number) => [number, React.Dispatch>]; declare const useBoolean: (initialValue?: boolean) => [boolean, React.Dispatch>]; declare const useString: (initialValue?: string) => [string, React.Dispatch>]; declare const useArray: (initialValue?: T) => [T, React.Dispatch>]; declare const useObject: (initialValue: T) => [T, React.Dispatch>]; declare const useDate: (initialValue?: Date) => [Date, React.Dispatch>]; declare const useFunction: any>(initialValue: T) => [T, React.Dispatch>]; declare const usePromise: (initialValue?: Promise) => [Promise, React.Dispatch>>]; declare const useNull: (initialValue?: T) => [T, React.Dispatch>]; declare const useTuple: (initialValue: T) => [T, React.Dispatch>]; declare const useRecord: (initialValue: Record) => [Record, React.Dispatch>>]; declare const useUnion: (initialValue: T) => [T, React.Dispatch>]; declare const useIntersection: (initialValue: A & B) => [A & B, React.Dispatch>]; declare const useNullable: (initialValue: T | null) => [T | null, React.Dispatch>]; declare function useError(): readonly [Error | null, (error: Error) => void]; declare function useDefault(state: T | null | undefined, defaultValue: T): T; declare function useGetSet(initialValue: T): [() => T, (value: T) => void]; declare function useLatest(value: T): React.MutableRefObject; declare function usePrevious(value: T): T | undefined; declare function usePreviousDistinct(value: T, compareFn: (prev: T, next: T) => boolean): T | undefined; declare function useCounter(initialValue?: number): [number, () => void, () => void]; declare function useList(initialValue: T[]): [T[], (value: T) => void, (index: number) => void]; declare function useMap(initialValue: Record): [Record, (k: K, v: V) => void, (k: K) => void]; declare function useSet(initialSet: Set): { set: Set; add: (item: T) => void; remove: (item: T) => void; clear: () => void; }; declare function useQueue(initialQueue?: T[]): { enqueue: (item: T) => void; dequeue: () => T | undefined; }; declare function useStateValidator(initialState: T, validator: (state: T) => boolean): readonly [T, React.Dispatch>, boolean]; declare function useStateWithHistory(initialState: T, capacity?: number): readonly [T, (value: T) => void, { readonly history: T[]; readonly goBack: () => void; }]; declare function useMultiStateValidator(initialState: T, validator: (state: T) => { [K in keyof T]: boolean; }): readonly [T, React.Dispatch>, { [K in keyof T]: boolean; }]; declare function useMediatedState(initialState: T, mediator: (state: T) => T): readonly [T, (value: T) => void]; declare function useFirstMountState(): boolean; declare function useRendersCount(): number; declare function createGlobalState(key: string, initialValue: T): () => [T, (value: T | ((prevState: T) => T)) => void]; declare function useMethods Partial; }>(methods: U, initialState: T): [T, { [K in keyof U]: (...args: Parameters) => void; }]; export { useNumber, useBoolean, useString, useArray, useObject, useDate, useFunction, useMap, useSet, usePromise, useNull, useTuple, useRecord, useUnion, useIntersection, useNullable, useError, useDefault, useGetSet, useLatest, usePrevious, usePreviousDistinct, useCounter, useList, useFirstMountState, useRendersCount, createGlobalState, useMethods, useMediatedState, useStateValidator, useMultiStateValidator, useStateWithHistory, useQueue, };