export interface IArrange {
    llmModel: string;
    prePrompt: string;
    knowledges: any;
    temperature: number;
    score: number;
    topK: number;
    textFilter: number;
    roleCognition: string;
    repetitionPenalty: number;
    embeddingService: string;
    enableNetOpen: boolean;
}
export interface IApplication {
    id: string;
    name: string;
    description: string;
    logo: string;
    createdAt: string;
    updatedAt: string;
    embeddings: string[];
    arrange: IArrange[];
    type: number;
}
export declare enum ISourceType {
    None = 0,
    SourceFile = 1,
    WebLink = 2
}
export interface IKnowledge {
    id: string;
    name: string;
    description: string;
    fileSize: number;
    fileUrl: string;
    createdAt: string;
    tenantCode: string;
    isReady: boolean;
    fileName: string;
    fileCount: number;
    knowledgeApplicationCount: number;
    usedType: number;
    knowledgeSourceName: string;
    sourceFileUrl: string;
    sourceType: ISourceType;
    webLink: string;
    sourceFileName: string;
}
export interface IAecFile {
    id: string;
    knowledgeId: string;
    size: number;
    name: string;
    originalName: string;
    status: number;
    url: string;
    ext: string;
    creator: string;
    chromaFileIds: string;
    description: string;
    wordCount: number;
    createdAt: string;
    wordNumber: number;
    updatedAt: string;
    source: number;
    originalFile: string;
    downloadOriginalFileUrl: string;
    enabled: number;
    datasetData: {
        datasetId: string;
        versionId: string;
        sampleId: string;
    };
    knowledgeSourceName: string;
    sourceType: number;
    sourceFileName: string;
    sourceFileUrl: string;
    webLink: string;
    nickname: string;
    createName: string;
    createUsername: string;
    updateName: string;
    updateUsername: string;
    versionInfo: IversionInfo;
}
export declare enum IversionInfo {
    Unprotected = "\u4E0D\u53D7\u8457\u4F5C\u6743\u4FDD\u62A4",
    ProtectAuthorize = "\u53D7\u8457\u4F5C\u6743\u4FDD\u62A4\uFF0C\u5DF2\u83B7\u5F97\u6388\u6743",
    ProtectUnauthorize = "\u53D7\u8457\u4F5C\u6743\u4FDD\u62A4\uFF0C\u672A\u83B7\u5F97\u6388\u6743"
}
export interface IUploadParam {
    files: string[];
    isv: string;
    knowledgeId: string;
}
export interface MinioConfig {
    accessKey: string;
    secretKey: string;
    bucket: string;
    expiredAt: number;
    prefix: string;
    endpoints: string[];
    region: string;
    useSSL: boolean;
    fileKeys: string[];
}
export interface IUploadTicket {
    accessKey: string;
    secretKey: string;
    bucket: string;
    expiredAt: number;
    prefix: string;
    endpoints: string[];
    region: string;
    useSSL: boolean;
    fileKeys: string[];
}
export interface IAecSessionPrompt {
    id: string;
    key: string;
    name: string;
    value: string;
}
export interface IAecSession {
    id: string;
    sessionId: string;
    name: string;
    lastRelatedQuestion: string[];
    tenantCode: string;
    creator: string;
    updater: string;
    createdAt: string;
    updatedAt: string;
    deletedAt: string;
    sessionFilesCount?: number;
    netOpen: boolean;
    enableNetOpen: boolean;
    finialMessage: string;
    fileStatus: number;
    fileCount: number;
    lastFileName: string;
    knowledges: IKnowledge[];
    isFirstCreate?: boolean;
    top: boolean;
}
export interface IAecSessionParam {
    name?: string;
    groupId?: string[];
    lastRelatedQuestion?: string[];
    netOpen?: number;
    enableNetOpen?: number;
    finialMessage?: string;
    applicationId?: string;
    top?: boolean;
    knowledges?: any;
    knowledgeList?: any;
}
export interface ICommentParam {
    messageId?: string;
    isAgree: number;
    againstReason?: string[];
}
export declare enum IHistoryRole {
    Robot = 1,
    User = 2,
    System = 3
}
export interface IHistory {
    code: number;
    ts?: string;
    messageId: string;
    content: string;
    role: IHistoryRole;
    userId?: string;
    sessionId: string;
    reference: IAecReference[];
    searchReference: ISearchReference[];
    comment?: ICommentParam;
    knowledges?: IKnowledge[];
    isWaiting?: boolean;
    messageTime: string;
    fileId?: string;
    file?: KnowledgeFileMetadata;
    files?: KnowledgeFileMetadata[];
    llmModel?: string;
    isContext?: boolean;
    isReplying?: boolean;
    isRelatedQuestion?: boolean;
    lastRelatedQuestions?: any;
    relatedQuesion?: any;
    isSensitive?: boolean;
    actions: {
        type: string;
        data: {
            funcCode: string;
            funcName: string;
            parameters: {
                query: string;
            };
            pluginCode: string;
            pluginName: string;
            requestBody: {
                flag: boolean;
            };
            step: string;
            thought: string;
            result: string;
        };
    }[][];
    isLoading: boolean;
    message?: string;
    isRelateLoading?: boolean;
    isSuspend?: boolean;
    reasoningContent?: string;
    thinkingSecs?: number;
    thinkingStatus?: string;
}
export declare enum IThinkingStatus {
    Start = "start",
    End = "end"
}
export interface IAecReference {
    text: string;
    docId: string;
    fileId: string;
    fileName: string;
    fileUrl: string;
    knowledgeId: string;
    knowledgeName: string;
    knowledgeSourceName: string;
    score: number;
    sourceFileName: string;
    sourceFileUrl: string;
    webLink: string;
    nickname: string;
    sourceType: ISourceType;
    textId: string;
    versionInfo: IversionInfo;
    origin: string;
    knowledgeTitleName: string;
}
export interface ISearchReference {
    link: string;
    title: string;
    snippet: string;
}
export interface KnowledgeFileMetadataParams {
    name: string;
    url: string;
    size: number;
    type: number;
}
export declare enum AecKnowledgeFileStatus {
    Processing = 1,
    Success = 2,
    Failed = 3
}
export interface KnowledgeFileMetadata {
    id: string;
    baseId: number;
    size: number;
    name: string;
    status: AecKnowledgeFileStatus;
    url: string;
    ext: string;
    description: string;
    enabled: number;
}
export interface IMessageParams {
    content: string;
    stream: boolean;
    promptVariables: {
        [key: string]: string;
    };
}
export interface IAecFileDataParam {
    key: string;
    value: string;
}
export interface HistoryPrams {
    endTime: string;
    pageSize: number;
    messageId: string[];
}
export interface IQuestion {
    id: string;
    question: string;
    sort: number;
    icon?: string;
    name: string;
    file: {
        url: string;
        name: string;
        size: number;
    };
}
export interface ResourceTokenParams {
    product: string;
    groupId: string;
}
export interface ResourceToken {
    token: string;
    expiredAt: number;
}
export interface IPermission {
    name: string;
    uiKey: string;
}
export interface IKnowledgeFileParams {
    name?: string;
    description?: string;
    enabled?: number;
    nickname?: string;
    webLink?: string;
    knowledgeSourceName?: string;
    sourceFlleName?: string;
    sourceType?: number;
}
export interface IFileParams {
    id: string;
    status: number;
}
export interface IAecPromptParam {
    title?: string;
    context?: string;
    type?: IPromptType;
}
export type IPromptStatus = 'generating' | 'finish';
export type IPromptType = 'system' | 'me';
export interface IAecPrompt {
    title: string;
    context: string;
    id: string;
    tenantCode: string;
    applicationid: string;
    creator: string;
    createdAt: string;
    updatedAt: string;
    status: IPromptStatus;
    type: IPromptType;
}
export declare enum IFileOrigin {
    AECPILOT = "aecpilot"
}
export interface IBaseModelInfo {
    id: string;
    name: string;
    baseModelName: string;
    maxModelLength: number;
}
