import { ConfigurationItem } from '../configuration-card/configuration-card.component'; export interface TestCaseDetailsConfigSection { title: string; icon?: string; items: ConfigurationItem[]; } export declare type StatusDotColor = 'yellow' | 'red' | 'green' | 'gray'; export interface TestCaseDetailsMetadataItem { label: string; value: string; icon?: string; iconLibrary?: 'mat' | 'fa'; link?: string; statusColor?: StatusDotColor; } /** Maps status/priority value (lowercase) to dot color. Override to customize. */ export declare type StatusColorConfig = Partial>; /** Default status value -> dot color. Override via BuildTestCaseDetailsOptions. */ export declare const DEFAULT_STATUS_COLOR_CONFIG: Record; /** Default priority value -> dot color. Override via BuildTestCaseDetailsOptions. */ export declare const DEFAULT_PRIORITY_COLOR_CONFIG: Record; /** * API field names for mapping test case data to cqa-test-case-details. * Use these when building metadataItems and configSections from your API response. */ export declare const TEST_CASE_DETAILS_FIELD_MAP: { /** Metadata (description section) */ readonly metadata: { readonly createdOn: "createdOn"; readonly status: "status"; readonly priority: "priority"; readonly environment: "environment"; readonly version: "version"; readonly platform: "platform"; readonly labels: "labels"; }; /** Execution config */ readonly execution: { readonly prerequisiteCase: "prerequisiteCase"; readonly defaultBrowser: "defaultBrowser"; readonly videoRecording: "videoRecording"; readonly testCaseTimeout: "testCaseTimeout"; readonly waitTimeoutForLocators: "waitTimeoutForLocators"; readonly webBrowser: "webBrowser"; readonly viewport: "viewport"; }; /** AI Configuration */ readonly aiConfig: { readonly enableAiSmartness: "enableAiSmartness"; readonly defaultAiAction: "defaultAiAction"; readonly knowledgeBaseDefaultTestCase: "knowledgeBaseDefaultTestCase"; readonly useAiMetadata: "useAiMetadata"; }; /** Waits & Retries */ readonly waitsRetries: { readonly autoWait: "autoWait"; readonly retryFailedSteps: "retryFailedSteps"; }; /** Device */ readonly device: { readonly platform: "platform"; readonly deviceType: "deviceType"; readonly deviceOS: "deviceOS"; readonly defaultBrowser: "defaultBrowser"; readonly defaultViewport: "defaultViewport"; readonly viewport: "viewport"; }; }; /** API response shape for test case details. Map your API fields to this structure. */ export interface TestCaseDetailsApiData { createdOn?: string | Date; status?: string; priority?: string; type?: string; typeId?: number | string; environment?: string; version?: string; testPlanName?: string; testPlanRedirectUrl?: string; labels?: string[]; prerequisiteCase?: string | null; testDataProfile?: string | null; testDataProfileId?: number | string | null; testDataSet?: string | null; testDataSetIndex?: number | null; defaultBrowser?: string; videoRecording?: boolean | string; testCaseTimeout?: string; waitTimeoutForLocators?: string; webBrowser?: string; viewport?: string; enableAiSmartness?: string; defaultAiAction?: string; knowledgeBaseDefaultTestCase?: string | null; useAiMetadata?: string; autoWait?: string; autoWaitEnabled?: boolean; retryFailedSteps?: string; platform?: 'web' | 'mobile'; deviceType?: string; deviceOS?: string; defaultViewport?: string; /** Key Flags */ mobileTesting?: string | boolean; extensionUse?: string | boolean; dataDriven?: string | boolean; } /** Options for buildTestCaseDetailsFromApi */ export interface BuildTestCaseDetailsOptions { /** Override status value -> dot color. Merged with defaults. */ statusColorConfig?: StatusColorConfig; /** Override priority value -> dot color. Merged with defaults. */ priorityColorConfig?: StatusColorConfig; /** When true, include Device Setting section for mobile test cases (default: false = hidden for mobile). */ showDeviceSettingForMobile?: boolean; } /** * Build metadataItems and configSections from API data for cqa-test-case-details. * Use in ts-portal when mapping test case API response to component inputs. */ export declare function buildTestCaseDetailsFromApi(data: TestCaseDetailsApiData, options?: BuildTestCaseDetailsOptions): { metadataItems: TestCaseDetailsMetadataItem[]; labels: string[]; configSections: TestCaseDetailsConfigSection[]; configSectionsRow2: TestCaseDetailsConfigSection[]; };