import { bus } from './bus'; declare type CommitCache = { [k: string]: bus.Esme; }; export declare class Esme { _actions: bus.store.Action[]; _schema: bus.Schema; constructor(actions: bus.store.Action[]); static create: () => bus.Esme; to: { relationalSchema: () => bus.RelationalSchema; oopSchema: () => bus.OOPSchema; skiiStructs: () => { types: { file: string; models: { modelName: string; definition: string; fullDefinition: string; }[]; }; models: { name: string; type: string; definition: string; }[]; file: string; }; typescript: () => { file: string; models: { modelName: string; definition: string; fullDefinition: string; }[]; }; prisma: () => { file: string; }; }; addTable: (name: TableName, params?: { idType?: "serial" | "uuid" | undefined; idKey?: string | undefined; }) => bus.Esme; addColumn: (tableName: TableName, columnName: string, dataType: "bigint" | "boolean" | "text" | "integer" | "float" | "double" | "datetime" | "updatedAt", data?: Partial>) => bus.Esme; oneToOne: , "required">>(start: StartTable, end: EndTable, name: string, params: Params) => bus.Esme; oneToMany: , "required">>(start: StartTable, end: EndTable, name: string, params: Params) => bus.Esme; manyToMany: >(start: StartTable, end: EndTable, name: TableName, params: Params) => bus.Esme; commit: (name: CommitName) => bus.Esme; getCommit: (name: Name) => V[Name]; sync: (db: bus.DB, params?: { break?: keyof V | undefined; }) => Promise; } export {};