import type { StateCreator, StoreMutatorIdentifier } from '../vanilla'; declare type SubscribeWithSelector = (initializer: StateCreator) => StateCreator; declare type Write = Omit & U; declare type WithSelectorSubscribe = S extends { getState: () => infer T; } ? Write> : never; declare module '../vanilla' { interface StoreMutators { ['zustand/subscribeWithSelector']: WithSelectorSubscribe; } } declare type StoreSubscribeWithSelector = { subscribe: { (listener: (selectedState: T, previousSelectedState: T) => void): () => void; (selector: (state: T) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: { equalityFn?: (a: U, b: U) => boolean; fireImmediately?: boolean; }): () => void; }; }; export declare const subscribeWithSelector: SubscribeWithSelector; export {};