import { Document } from 'mongoose';
import { LocalizedText } from '../../../shared/language/localized-text.schema';
import { StorageFile } from 'src/modules/storage/storage.schema';
export type AiModelDocument = AiModel & Document;
export type AiModelGroupDocument = AiModelGroup & Document;
export interface ICapabilityHandler {
    handlerKey: string;
    handlerWay: string;
    extraConfig?: Record<string, any>;
}
export declare class AiModel {
    _id: string;
    id: string;
    name: string;
    description: LocalizedText;
    isSubscription: boolean;
    isSupportedTemperature: boolean;
    contextWindow: number;
    maxOutputTokens: number;
    providerKey: string;
    icon: StorageFile;
    isActive: boolean;
    order: number;
    textHandler?: ICapabilityHandler;
    imageHandler?: ICapabilityHandler;
    imageReadingHandler?: ICapabilityHandler;
    audioHandler?: ICapabilityHandler;
    maxReadImages: number;
    canGenerateText?: boolean;
    canGenerateImage?: boolean;
    canReadImage?: boolean;
    showInChat: boolean;
    showInTextToImg: boolean;
    showInImgToImg: boolean;
    isSupportTools: boolean;
    toolCreateImageModelId: string;
    toolReadImageModelId: string;
    createdAt: Date;
    updatedAt: Date;
}
export declare class AiModelGroup {
    id: string;
    name: string;
    icon: StorageFile;
    isActive: boolean;
    order: number;
    models: AiModel[];
    createdAt: Date;
    updatedAt: Date;
}
export declare const AiModelSchema: import("mongoose").Schema<AiModel, import("mongoose").Model<AiModel, any, any, any, Document<unknown, any, AiModel, any, {}> & AiModel & Required<{
    _id: string;
}> & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, AiModel, Document<unknown, {}, import("mongoose").FlatRecord<AiModel>, {}, import("mongoose").DefaultSchemaOptions> & import("mongoose").FlatRecord<AiModel> & Required<{
    _id: string;
}> & {
    __v: number;
}>;
export declare const AiModelGroupSchema: import("mongoose").Schema<AiModelGroup, import("mongoose").Model<AiModelGroup, any, any, any, Document<unknown, any, AiModelGroup, any, {}> & AiModelGroup & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, AiModelGroup, Document<unknown, {}, import("mongoose").FlatRecord<AiModelGroup>, {}, import("mongoose").DefaultSchemaOptions> & import("mongoose").FlatRecord<AiModelGroup> & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}>;
