export interface SyncStore { subscribe: SyncStoreSubscribe; getSnapshot: () => T; } export type SyncStoreSubscribe = (callback: () => void) => SyncStoreUnsubscribe; export type SyncStoreUnsubscribe = () => void; export declare class FanoutSyncStore implements SyncStore { readonly getSnapshot: () => T; private readonly fanout; readonly subscribe: SyncStoreSubscribe; constructor(getSnapshot: () => T); } export declare class ValueSyncStore implements SyncStore { value: V; private readonly fanout; readonly subscribe: SyncStoreSubscribe; constructor(value: V); readonly getSnapshot: () => V; next(value: V, force?: boolean): void; }