///
import { type Writable } from 'svelte/store';
import type { IfEquals } from '../types';
type ValueSetter = (v: T) => void;
type WithoutNever = Pick;
type ValueSetters = WithoutNever<{
[K in keyof T]?: IfEquals<{
[Q in K]: T[K];
}, {
-readonly [Q in K]: T[K];
}, ValueSetter, never>;
}>;
type GetContextReturn> = Writable;
export type Defaults> = {
[K in keyof T]?: T[K];
};
export declare function reactiveContext>(defaults?: Defaults): {
setContext: (setters?: ValueSetters) => {
set: (v: Partial) => void;
update: (updater: (state: T) => Partial) => void;
subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber;
};
defaults: Defaults | undefined;
getContext: () => GetContextReturn;
};
export {};