import { Duckservable, Observable } from '../types/observable'; import { Store } from '../types/store'; export declare const getStoreObservable: (callback: (store: Store) => Observable) => Observable; /** * Merges multiple store objects using spread syntax. * Later objects take precedence over earlier ones. * Throws an error if any input is not an object. */ type DeepMerge = { [K in keyof T | keyof U]: K extends keyof T ? K extends keyof U ? T[K] extends Record ? U[K] extends Record ? DeepMerge : U[K] : U[K] : T[K] : K extends keyof U ? U[K] : never; }; type DeepMergeAll = T extends readonly [ infer First, ...infer Rest ] ? Rest extends readonly any[] ? DeepMerge> : First : {}; type StoreObject = Record>; export declare const mergeStoreObjects: (...storeObjects: S) => DeepMergeAll; export {};