import { ServerStore } from '../core-utils/createServerStore';
type Middleware<T> = (value: T, next: (v: T) => void) => void;
interface Options<T> {
    middleware?: Middleware<T>[];
    store?: ServerStore;
}
export declare function useSharedState<T>(key: string, options?: Options<T>): [T, (v: T | ((prev: T) => T)) => void];
export {};
