import * as mongoose from 'mongoose'; import { HydratedDocument } from 'mongoose'; import { z } from 'zod'; declare const nameSchemaValidation: z.ZodObject<{ first: z.ZodString; middle: z.ZodOptional; last: z.ZodString; nickname: z.ZodString; fullNameLegal: z.ZodOptional; }, "strip", z.ZodTypeAny, { first: string; last: string; nickname: string; middle?: string | undefined; fullNameLegal?: string | undefined; }, { first: string; last: string; nickname: string; middle?: string | undefined; fullNameLegal?: string | undefined; }>; declare class Name { first?: string; middle?: string; last?: string; nickname?: string; constructor(name?: Partial); set fullName(name: string); parseName(name: string): void; get firstLastInitials(): string; get fullNameLegal(): string; set fullNameLegal(name: string); get fullNamePreferred(): string | undefined; set fullNamePreferred(name: string | undefined); } declare const IsName: (name: any) => name is Name; type NameDocument = HydratedDocument; declare const NameSchema: mongoose.Schema & Name & { _id: mongoose.Types.ObjectId; }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Name, mongoose.Document> & mongoose.FlatRecord & { _id: mongoose.Types.ObjectId; }>; export { IsName, Name, type NameDocument, NameSchema, nameSchemaValidation };