import { Sequence } from './sequence'; export declare type EntityName = string; export interface Entity { C: any; name: EntityName; } /** * The options passed to a `Manifester`. */ export interface ManifesterOptions { uuid: () => string; sequences: TSequences; } /** * A manifester for an entity of type `T`. */ export declare type Manifester = (options: ManifesterOptions) => T; /** * A persister for an entity of type `T`. */ export declare type Persister = (entity: T, context: TContext) => Promise; export interface Sequences { [name: string]: Sequence; } export declare type Manifest = (Entity: Entity, overrides?: Partial) => T;