/** * Internal dependencies */ import type { StoreConfig, ActionCreator, Selector } from '../utils/store-types'; type AnyAction = { type: string; payload?: object; }; type MapOf = { [name: string]: T; }; /** * Combines multiple store configs into one. * * While in principle this function could be implemented accepting an array of store configs, such an implementation * would not be type safe. The current implementation looks a bit cumbersome, but it is type safe as it treats every * store config individually, as their types are different. * * This also means that the function cannot be used to combine an arbitrary number of store configs, but only up to a * limit. For now, this limit is set to 6, which should be sufficient for most use cases. * * @param storeConfig1 - The first store config. * @param storeConfig2 - Optional. The second store config. Default is none (undefined). * @param storeConfig3 - Optional. The third store config. Default is none (undefined). * @param storeConfig4 - Optional. The fourth store config. Default is none (undefined). * @param storeConfig5 - Optional. The fifth store config. Default is none (undefined). * @param storeConfig6 - Optional. The sixth store config. Default is none (undefined). * @returns The combined store config. */ export default function combineStoreConfigs, C extends AnyAction, D extends MapOf, E extends object, F extends MapOf, G extends AnyAction, H extends MapOf, I extends object, J extends MapOf, K extends AnyAction, L extends MapOf, M extends object, N extends MapOf, O extends AnyAction, P extends MapOf, Q extends object, R extends MapOf, S extends AnyAction, T extends MapOf, U extends object, V extends MapOf, W extends AnyAction, X extends MapOf>(storeConfig1: StoreConfig, storeConfig2?: StoreConfig, storeConfig3?: StoreConfig, storeConfig4?: StoreConfig, storeConfig5?: StoreConfig, storeConfig6?: StoreConfig): StoreConfig; export {}; //# sourceMappingURL=combine-store-configs.d.ts.map