import { type Mixable } from './Mixable'; import { type Model } from '../Models'; import { type Repository, type Where } from '../Repositories'; export declare enum TrashedStatus { DEFAULT = "without", WITH = "with", ONLY = "only" } declare const _default: >>(Parent: TBase) => (abstract new (...args: any[]) => { [x: string]: any; /** * Indicates that query have to include trashed records. */ includeTrashedRecords: boolean; /** * Indicates that query have limit to the trashed records. */ onlyTrashedRecords: boolean; /** * Delete model for the given key. */ delete(key: string | number): Promise; /** * Delete model for the given key. */ forceDelete(key: string | number): Promise; /** * Restore the delete model for given key. */ restore(key: string | number): Promise; /** * Apply soft-delete constraint. */ applySoftDelete(): this; /** * Ignore soft-delete constraint. */ withTrashed(): this; /** * Apply only trashed record constraints. */ onlyTrashed(): this; /** * Get soft-delete constraint. */ scopeSoftDelete(): Where; /** * Get only trashed records constraint. */ scopeTrashedRecords(): Where; /** * Get name of `deleted_at` key. */ getDeletedAtKey(): string; /** * Get value for `deleted_at` key. */ getDeletedAtValue(): string; wheres: Where[]; orders: import("../Repositories").Order[]; transaction(callback: () => Promise): Promise; where(where: Where | Where[]): any; order(order: import("../Repositories").Order | import("../Repositories").Order[]): any; find(key: string | number): Promise; whereKey(key: string | number): any; whereKeys(keys: string[] | number[]): any; search(search: string, page?: number | undefined, perPage?: number | undefined): Promise>; all(wheres?: Where[] | undefined): Promise; /** * Apply only trashed record constraints. */ first(wheres?: Where[] | undefined): Promise; store(model: TModel): Promise; update(model: TModel): Promise; model(): TModel; }) & TBase; export default _default; //# sourceMappingURL=SoftDeletes.d.ts.map