import { DeleteResult } from 'mongodb';
import { Document, QueryWithHelpers, SaveOptions } from 'mongoose';
import DeletedSchema from './types/DeletedSchema';
import DeletedFieldOptions from './types/DeletedFieldOptions';
import { DeleteOptions } from './types/DeleteOptions';
export interface DeletedMethods {
    restoreOne(this: Document, saveOptions?: SaveOptions): Promise<this>;
}
export interface DeletedByMethods<TUser = any, T = any, TQueryHelpers = any, DocType = any> {
    deleteOneByUser(user: TUser, saveOptions?: SaveOptions): QueryWithHelpers<DeleteResult, Document<T, TQueryHelpers, DocType>, TQueryHelpers, DocType, 'deleteOne'>;
}
export default function (schema: DeletedSchema, deleteOptions: DeleteOptions, deletedFieldOptions: DeletedFieldOptions): void;
