type StoreListener = () => void;
export interface SyncExternalStore<T> {
    subscribe: (listener: StoreListener) => () => void;
    getSnapshot: () => T;
    getState: () => T;
    update: (next: T | ((prev: T) => T)) => void;
}
/**
 * Module-level store backing `useSyncExternalStore` hooks. Initialises lazily on
 * first subscription and notifies subscribers when `update` changes the snapshot.
 */
export declare function createSyncExternalStore<T>(initialState: T, init: (store: SyncExternalStore<T>) => void): SyncExternalStore<T>;
export {};
//# sourceMappingURL=sync-external-store.d.ts.map