import type { AnswerType } from './types'; import { LitElement } from 'lit'; import { type Category, type Resource, type SearchResult, SubjectError, type TagItem } from './subject-shared'; export { SubjectError, trimCommaSeparatedText, trimText } from './subject-shared'; export type { Category, KnowledgePointInfo, Resource, SearchResult, TagItem } from './subject-shared'; export declare class QxsSubjectSingle extends LitElement { static styles: import("lit").CSSResult[]; 'order-index': number; 'subject-prefix'?: string; 'is-edit': boolean; 'is-save': boolean; 'is-set': boolean; 'is-set-correct-answer': boolean; lockAnswerKey: boolean; 'is-key': boolean; 'show-action': boolean; 'show-add': boolean; 'hide-add-rich-text': boolean; 'show-rich-text': boolean; 'show-delete-action': boolean; 'show-save-action': boolean; sorting: boolean; 'show-answer-setting': boolean; 'show-key': boolean; 'show-analysis': boolean; type: AnswerType; 'answer-check-type': number; 'exam-answer-relation-type': number; 'rich-text-content': string; analysis: string; 'least-answer-count': number | null; 'exam-expand': string; 'custom-id': string; 'exam-id': number; 'category-id': string; 'upload-image': (file: File) => Promise; get 'answer-list'(): any; set 'answer-list'(v: any); /** * 标签列表 - 用于关联题目的标签信息 * @type {TagItem[]} * @description 业务系统传入已选择的标签列表 */ 'tag-list': TagItem[]; /** * 分类列表 - 可用于题目的分类选项 * @type {Category[]} * @description 业务系统传入可选的分类列表 */ 'category-list': Category[]; /** * AI 推荐答案 - AI 根据题目内容推荐的答案 * @type {string} * @description AI 返回的推荐答案,格式如 "1. 选项A\n2. 选项B" */ 'ai-answer': string; /** * 图片/视频资源列表 - 题目附带的媒体资源 * @type {Resource[]} * @description 题目附带图片或视频资源 */ 'resource-list': Resource[]; /** * 是否显示标签功能 * @type {boolean} * @default false * @description 业务功能开关,控制是否显示标签选择 UI */ 'show-tag': boolean; /** * 是否显示分类功能 * @type {boolean} * @default false * @description 业务功能开关,控制是否显示分类选择 UI */ 'show-category': boolean; /** * 是否显示 AI 推荐功能 * @type {boolean} * @default false * @description 业务功能开关,控制是否显示 AI 推荐答案 UI */ 'show-ai': boolean; /** * 是否显示资源功能 * @type {boolean} * @default false * @description 业务功能开关,控制是否显示图片/视频资源 UI */ 'show-resource': boolean; /** * 是否显示跳题功能 * @type {boolean} * @default false * @description 业务功能开关,控制是否显示跳题逻辑设置入口 */ 'show-jump': boolean; /** * 跳题状态 - 是否已设置跳题逻辑 * @type {boolean} * @default false * @description 标记当前题目是否已设置跳题逻辑 */ 'has-jump': boolean; /** * 题库搜索接口地址 * @type {string} * @description 题库模糊搜索接口地址,用于题库搜索功能 */ 'search-api': string; /** * 题库搜索回调函数 * @type {Function} * @param {string} query - 搜索关键词 * @param {number} answerType - 题目类型:0-单选, 1-多选 * @returns {Promise} 搜索结果列表 * @description 题库搜索的回调函数,由业务系统实现搜索逻辑 */ 'search-handler'?: (query: string, answerType: number) => Promise; 'model-value': string; 'use-model': boolean; private _answers; title: string; private _title; private _analysis; private _richText; private _showRichText; private _leastAnswerCount; private _answerCheckType; private _isKey; private _orderList; private _selectedTagList; private _categoryId; private _searchResults; private _searchOpen; private _searchLoading; private _sortDropdownOpen; private _imageViewerOpen; private _imageViewerIndex; private _videoViewerOpen; private _correctHintDialogOpen; private _hasShownCorrectHint; private _changeTypeDialogOpen; private _searchTimer; private _searchToken; private readonly TITLE_MAX; private readonly ANSWER_MAX; connectedCallback(): void; disconnectedCallback(): void; private _handleDocumentClick; willUpdate(changed: Map): void; private _applyEditorState; private _buildEditorState; private _syncExternalProps; private _syncProps; private _syncExamExpand; private _emit; private _queueSearch; private _runSearch; private _selectSearchResult; private _applyAiAnswer; private _onCategoryChange; private _setRelation; private _relationLength; private _emitEditResultItem; private _resultSlotName; private _imageResources; private _videoResource; private _openImageViewer; private _closeImageViewer; private _moveImage; private _openVideoViewer; private _closeVideoViewer; private _label; private get _titlePlaceholder(); private _setCorrect; private _onTitleInput; private _onAnswerInput; private _addAnswer; private _deleteAnswer; private _toggleSortItem; private _removeSortItem; private _getSortOrder; private _sortAnswerValue; private _rowMeta; private _dialogState; private _applyDialogState; private _collectSnapshot; private _serialize; private _shouldShowCorrectHint; private _finalizeSave; toJSON(): Promise; validate(): SubjectError[]; setResultItem(answerIndex: number, resultItem: string): void; setAnswerRelation(customAnswerId: string, answerRelations: any): void; private _renderCorrectHintDialog; private _renderChangeTypeDialog; private _renderSearchDropdown; private _renderCategorySection; private _renderAiSection; private _renderResourceSection; private _renderImageViewer; private _renderVideoViewer; private _save; private _renderPreview; private _renderSorting; private _renderEdit; render(): import("lit").TemplateResult<1>; } export declare function register(): void;