import type { DatasetSheet } from './dataset'; import type { FindingRecord } from './finding'; import type { ToolProfileDefinition } from './tool-profile-definition'; export interface ProfileDetectionContext { fileName: string; rawText: string; sheets: DatasetSheet[]; } export interface ProfileDefaults { titleColumn: string; sortColumn: string; sortDirection: 'asc' | 'desc'; statusFilter: string; } export interface PresentationHints { severityFieldPattern: RegExp; titleFieldPattern: RegExp; statusFilters: Array<{ value: string; label: string }>; } export interface ImportProfile { id: string; name: string; version: string; definition: ToolProfileDefinition; detect(context: ProfileDetectionContext): number; prioritizeSheets(sheets: DatasetSheet[]): DatasetSheet[]; defaults(sheet?: DatasetSheet): ProfileDefaults; matchesStatus(record: FindingRecord, status: string): boolean; presentation: PresentationHints; }