import { GenericObject } from './utilityTypes'; export type MetaLike = MetaI | InferSchema; export default class Meta { readonly _inferSchema: Schema; readonly _inferInstance: Instance; data: Schema; instance?: Instance; constructor(base?: Schema, instance?: Instance); clear: () => void; delete: (key: Key) => Schema[Key]; entries: () => [keyof Schema, Schema[keyof Schema]][]; get: (key: Key) => Schema[Key]; has: (key: keyof Schema) => boolean; keys: () => (keyof Schema)[]; set: (key: Key, value: Schema[Key]) => void; values: () => Schema[keyof Schema][]; commit: (prev?: Schema, ignore?: (keyof Schema)[]) => Schema; } export type InferSchema = MetaI['_inferSchema']; export type InferInstance = MetaI['_inferInstance'];