import { AnyObject, Subject, SubjectType, SubjectClass, ForcedSubject, AliasesMap } from './types'; export declare function wrapArray(value: T[] | T): T[]; export declare function setByPath(object: AnyObject, path: string, value: unknown): void; export declare function setSubjectType>(type: T, object: U): U & ForcedSubject; export declare const isSubjectType: (value: unknown) => value is SubjectType; export declare function getSubjectTypeName(value: SubjectType): string; export declare function detectSubjectType(object: Exclude): string; export declare const DETECT_SUBJECT_TYPE_STRATEGY: { function: (object: Exclude) => SubjectClass; string: typeof detectSubjectType; }; export type AliasResolverOptions = { skipValidate?: boolean; anyAction?: string; }; export declare function createAliasResolver(aliasMap: AliasesMap, options?: AliasResolverOptions): (action: string | string[]) => string[]; export declare function mergePrioritized(array?: T[], anotherArray?: T[]): T[]; export declare function getOrDefault(map: Map, key: K, defaultValue: () => V): V; export declare const identity: (x: T) => T;