export declare const noop: () => void; /** Callback to inform of a value updates. */ export declare type Subscriber = (value: T) => void; /** Unsubscribes from value updates. */ export declare type Unsubscriber = () => void; /** Callback to update a value. */ export declare type Updater = (value: T) => T; /** Cleanup logic callback. */ export declare type Invalidator = (value?: T) => void; /** Start and stop notification callbacks. */ export declare type StartStopNotifier = (set: Subscriber) => Unsubscriber | void; /** Readable interface for subscribing. */ export interface Readable { /** * Subscribe on value changes. * @param run subscription callback * @param invalidate cleanup callback */ subscribe(run: Subscriber, invalidate?: Invalidator): Unsubscriber; } export interface Observable { /** * Subscribe on value changes. * @param run subscription callback * @param invalidate cleanup callback */ subscribe(run: Subscriber, invalidate?: Invalidator): { unsubscribe: () => void; }; } /** Writable interface for both updating and subscribing. */ export interface Writable extends Readable { /** * Set value and inform subscribers. * @param value to set */ set(value: T): void; /** * Update value using callback and inform subscribers. * @param updater callback */ update(updater: Updater): void; } export declare function subscribe(store: Readable, run: Subscriber, invalidate?: Invalidator): () => void; export declare function safe_not_equal(a: T, b: U): boolean; export declare function get_store_value(store: Readable): T; //# sourceMappingURL=internals.d.ts.map