AK-21/Graphite-Industrial-Intelligence
0
1type SetStateInternal<T> = {2 _(partial: T | Partial<T> | {3 _(state: T): T | Partial<T>;4 }['_'], replace?: boolean | undefined): void;5}['_'];6export interface StoreApi<T> {7 setState: SetStateInternal<T>;8 getState: () => T;9 getInitialState: () => T;10 subscribe: (listener: (state: T, prevState: T) => void) => () => void;11 /**12 * @deprecated Use `unsubscribe` returned by `subscribe`13 */14 destroy: () => void;15}16type Get<T, K, F> = K extends keyof T ? T[K] : F;17export type Mutate<S, Ms> = number extends Ms['length' & keyof Ms] ? S : Ms extends [] ? S : Ms extends [[infer Mi, infer Ma], ...infer Mrs] ? Mutate<StoreMutators<S, Ma>[Mi & StoreMutatorIdentifier], Mrs> : never;18export type StateCreator<T, Mis extends [StoreMutatorIdentifier, unknown][] = [], Mos extends [StoreMutatorIdentifier, unknown][] = [], U = T> = ((setState: Get<Mutate<StoreApi<T>, Mis>, 'setState', never>, getState: Get<Mutate<StoreApi<T>, Mis>, 'getState', never>, store: Mutate<StoreApi<T>, Mis>) => U) & {19 $$storeMutators?: Mos;20};21export interface StoreMutators<S, A> {22}23export type StoreMutatorIdentifier = keyof StoreMutators<unknown, unknown>;24type CreateStore = {25 <T, Mos extends [StoreMutatorIdentifier, unknown][] = []>(initializer: StateCreator<T, [], Mos>): Mutate<StoreApi<T>, Mos>;26 <T>(): <Mos extends [StoreMutatorIdentifier, unknown][] = []>(initializer: StateCreator<T, [], Mos>) => Mutate<StoreApi<T>, Mos>;27};28export declare const createStore: CreateStore;29/**30 * @deprecated Use `import { createStore } from 'zustand/vanilla'`31 */32declare const _default: CreateStore;33export default _default;34/**35 * @deprecated Use `unknown` instead of `State`36 */37export type State = unknown;38/**39 * @deprecated Use `Partial<T> | ((s: T) => Partial<T>)` instead of `PartialState<T>`40 */41export type PartialState<T extends State> = Partial<T> | ((state: T) => Partial<T>);42/**43 * @deprecated Use `(s: T) => U` instead of `StateSelector<T, U>`44 */45export type StateSelector<T extends State, U> = (state: T) => U;46/**47 * @deprecated Use `(a: T, b: T) => boolean` instead of `EqualityChecker<T>`48 */49export type EqualityChecker<T> = (state: T, newState: T) => boolean;50/**51 * @deprecated Use `(state: T, previousState: T) => void` instead of `StateListener<T>`52 */53export type StateListener<T> = (state: T, previousState: T) => void;54/**55 * @deprecated Use `(slice: T, previousSlice: T) => void` instead of `StateSliceListener<T>`.56 */57export type StateSliceListener<T> = (slice: T, previousSlice: T) => void;58/**59 * @deprecated Use `(listener: (state: T) => void) => void` instead of `Subscribe<T>`.60 */61export type Subscribe<T extends State> = {62 (listener: (state: T, previousState: T) => void): () => void;63};64/**65 * @deprecated You might be looking for `StateCreator`, if not then66 * use `StoreApi<T>['setState']` instead of `SetState<T>`.67 */68export type SetState<T extends State> = {69 _(partial: T | Partial<T> | {70 _(state: T): T | Partial<T>;71 }['_'], replace?: boolean | undefined): void;72}['_'];73/**74 * @deprecated You might be looking for `StateCreator`, if not then75 * use `StoreApi<T>['getState']` instead of `GetState<T>`.76 */77export type GetState<T extends State> = () => T;78/**79 * @deprecated Use `StoreApi<T>['destroy']` instead of `Destroy`.80 */81export type Destroy = () => void;82 