import { Types } from 'mongoose'; export declare type Id = '_id'; export declare type VerOption = 'versionKey'; export declare type VerKey = '__v'; export declare type Timestamps = 'timestamps'; export declare type CreatedAt = 'createdAt'; export declare type UpdatedAt = 'updatedAt'; export declare type Required = 'required'; export declare type Select = 'select'; export declare type Enum = 'enum'; export interface SubDocumentNoId extends Omit { } export interface SubDocument extends Types.Subdocument { } export interface SubDocumentArray extends Types.DocumentArray { filter(callbackfn: (value: T, index: number, array: SubDocumentArray) => unknown, thisArg?: any): SubDocumentArray; } export interface SubDocumentArrayNoId extends Types.Array { create(obj: any): T; inspect(): T[]; toObject(options?: any): T[]; filter(callbackfn: (value: T, index: number, array: SubDocumentArrayNoId) => unknown, thisArg?: any): SubDocumentArrayNoId; }