import { Middleware, Store } from '../types'; export interface Slice extends Store { readonly sliceName: string; } type SlicesShape = Record>; type CombinedState = { [K in keyof S]: S[K] extends Slice ? U : never; }; export interface CombinedStore extends Store> { readonly slices: S; } export declare function createSlice>(name: string, initializer: () => T, middlewares?: Middleware[]): Slice; export declare function combineSlices(slices: S, middlewares?: Middleware>[]): CombinedStore; export declare function isSlice(value: unknown): value is Slice; export declare function isCombinedStore(value: unknown): value is CombinedStore; export {};