/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import mongoose from 'mongoose';
export declare const AI_SUMMARY_TARGET_TYPES: {
    readonly NOTE: "NOTE";
    readonly NOTE_FILE: "NOTE_FILE";
};
export type TAiSummaryTargetType = typeof AI_SUMMARY_TARGET_TYPES[keyof typeof AI_SUMMARY_TARGET_TYPES];
export declare const PROSPECT_FILE_AI_SUMMARY_STATUSES: {
    readonly PENDING: "PENDING";
    readonly DONE: "DONE";
    readonly ERROR: "ERROR";
};
export type TProspectFileAiSummaryStatus = typeof PROSPECT_FILE_AI_SUMMARY_STATUSES[keyof typeof PROSPECT_FILE_AI_SUMMARY_STATUSES];
export interface IBorrowerNoteAiSummary {
    targetType: TAiSummaryTargetType;
    noteId: mongoose.Types.ObjectId;
    fileId?: string;
    summary: string;
    subject: string;
    status: TProspectFileAiSummaryStatus;
    model?: string;
    promptSlug?: string;
    promptVersion?: number;
    contentHash?: string;
    error?: string;
}
export interface IBorrowerNoteAiSummaryDoc extends IBorrowerNoteAiSummary, Document {
    _id: mongoose.Types.ObjectId;
    createdAt: Date;
    updatedAt: Date;
}
export interface IBorrowerNoteAiSummaryLean extends IBorrowerNoteAiSummary {
    _id: mongoose.Types.ObjectId;
    createdAt: Date;
    updatedAt: Date;
}
export interface IBorrowerNoteAiSummaryPlain extends Omit<IBorrowerNoteAiSummary, 'fileId' | 'noteId'> {
    _id: string;
    noteId: string;
    fileId: string;
    createdAt: Date;
    updatedAt: Date;
}
export type TProspectFileAiSummaryModel = mongoose.Model<IBorrowerNoteAiSummaryDoc>;
export declare const BorrowerNoteAiSummarySchema: mongoose.Schema<IBorrowerNoteAiSummaryDoc, mongoose.Model<IBorrowerNoteAiSummaryDoc, any, any, any, mongoose.Document<unknown, any, IBorrowerNoteAiSummaryDoc> & IBorrowerNoteAiSummaryDoc & Required<{
    _id: mongoose.Types.ObjectId;
}>, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, IBorrowerNoteAiSummaryDoc, mongoose.Document<unknown, {}, mongoose.FlatRecord<IBorrowerNoteAiSummaryDoc>> & mongoose.FlatRecord<IBorrowerNoteAiSummaryDoc> & Required<{
    _id: mongoose.Types.ObjectId;
}>>;
export declare const BorrowerNoteAiSummary: mongoose.Model<IBorrowerNoteAiSummaryDoc, {}, {}, {}, mongoose.Document<unknown, {}, IBorrowerNoteAiSummaryDoc> & IBorrowerNoteAiSummaryDoc & Required<{
    _id: mongoose.Types.ObjectId;
}>, any>;
