//
// Copyright 2024 DXOS.org
//
import type * as Schema from 'effect/Schema';
import { type TypeMeta } from '../Annotation';
import { type AnyEntity } from '../common/types';
/**
* Definition for an object type that can be stored in an ECHO database.
* Implements effect schema to define object properties.
* Has a typename and version.
*
* In contrast to a stored `Type.Type` entity, this definition is not recorded in the database.
*
* @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
*/
export interface TypedObject extends TypeMeta, Schema.Schema {}
/**
* Typed object that could be used as a prototype in class definitions.
* This is an internal API type.
*
* @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
*/
export interface TypedObjectPrototype extends TypedObject {
/** Type constructor. */
new (): AnyEntity & A;
}