import { StorionKind, StorionObject, StoreSpec, StoreContainer, StoreInstance, StoreContext, SelectorContext, Focus, StateBase, ActionsBase } from './types'; /** * Check if a value is a Storion object of a specific kind. * * @example * if (is(value, "store.spec")) { * // value is StoreSpec * } * * if (is(value, "store")) { * // value is StoreInstance * } * * if (is(value, "focus")) { * // value is Focus * } */ export declare function is(value: unknown, kind: K): value is StorionObjectForKind; /** * Check if a value is any Storion object. * * @example * if (isStorion(value)) { * console.log(value[STORION_SYMBOL]); // "spec" | "store" | ... * } */ export declare function isStorion(value: unknown): value is StorionObject; /** * Get the kind of a Storion object. * * @example * const kind = getKind(myStore); // "store" */ export declare function getKind(value: StorionObject): StorionKind; /** * Check if a value is a StoreSpec. */ export declare function isSpec(value: unknown): value is StoreSpec; /** * Check if a value is a StoreContainer. */ export declare function isContainer(value: unknown): value is StoreContainer; /** * Check if a value is a StoreInstance. */ export declare function isStore(value: unknown): value is StoreInstance; /** * Check if a value is a Focus. */ export declare function isFocus(value: unknown): value is Focus; /** * Check if a value is a StoreContext. */ export declare function isStoreContext(value: unknown): value is StoreContext; /** * Check if a value is a SelectorContext. */ export declare function isSelectorContext(value: unknown): value is SelectorContext; /** * Check if a value is a store Action. */ export declare function isAction(value: unknown): value is StorionObject<"store.action">; /** * Maps StorionKind to the corresponding type. */ type StorionObjectForKind = K extends "store.spec" ? StoreSpec : K extends "container" ? StoreContainer : K extends "store" ? StoreInstance : K extends "focus" ? Focus : K extends "store.action" ? StorionObject<"store.action"> : K extends "store.context" ? StoreContext : K extends "selector.context" ? SelectorContext : K extends "async.meta" ? StorionObject<"async.meta"> : never; export {}; //# sourceMappingURL=is.d.ts.map