import { Database } from "../database"; import { Model } from "./model"; import { ModelEvents } from "./model-events"; import { ChildModel, Document, ModelDeleteStrategy } from "./types"; export declare abstract class BaseModel { /** * Collection Name */ static collection: string; /** * Connection instance */ static database: Database; /** * Model associated output */ static output?: any; /** * Missing key symbol */ static MISSING_KEY: symbol; /** * Define the initial value of the id */ static initialId?: number; /** * Define the amount to eb incremented by for the next generated id */ static incrementIdBy?: number; /** * Primary id column */ static primaryIdColumn: string; /** * Query instance */ static query: import("../query").Query; /** * Define the delete method * * @default true */ static deleteStrategy: ModelDeleteStrategy; /** * Items per page */ static perPage: number; /** * If set to true, then only the original data and the data in the casts property will be saved * If set to false, all data will be saved */ static isStrict: boolean; /** * Get increment id by */ static getIncrementIdBy(): number; /** * Get initial id */ static getInitialId(): number; /** * Generate next id */ static generateNextId(): Promise; /** * Get last id of current model */ static getLastId(): Promise; /** * Get an instance of child class */ protected static self(data: Document): any; /** * Get collection name */ getCollection(): string; /** * Get collection query */ getQuery(): any; /** * Get database instance */ getDatabase(): Database; /** * Get static property */ getStaticProperty(property: keyof typeof BaseModel): any; /** * Prepare model for response */ toJSON(): Promise; /** * Get current output instance */ getOutput(data?: Document): any; /** * Get model events instance */ static events(this: ChildModel): ModelEvents; /** * Get model events for current model */ getModelEvents(): ModelEvents; /** * Get base model events */ getBaseModelEvents(): ModelEvents; /** * Get model blueprint */ static blueprint(): import("../blueprint").ModelBlueprint; } //# sourceMappingURL=base-model.d.ts.map