import type { IAnyComplexType, IAnyType, IModelReflectionPropertiesData, ISimpleType, UnionStringArray } from 'mobx-state-tree';
export interface ILiteralType<T> extends ISimpleType<T> {
    value: T;
}
export declare function getSubType(type: IAnyType): IAnyType;
export declare function getUnionSubTypes(unionType: IAnyType): IAnyType[];
export declare function getPropertyType(type: IModelReflectionPropertiesData, propertyName: string): IAnyType;
export declare function getDefaultValue(type: IAnyType): any;
export type IEnumerationType<T extends string> = ISimpleType<UnionStringArray<T[]>>;
export declare function getEnumerationValues(type: IAnyComplexType): string[];
export declare function resolveLateType(maybeLate: IAnyType): any;
