import { DSLStep } from './context.js';
/**
 * Metadata for categorizing and orchestrating tests.
 */
export interface TestMetadata {
    organizationId: string;
    namespace?: string;
    project?: string;
    tags?: string[];
    author?: string;
    lastRun?: Date;
    version?: number;
}
/**
 * Database representation of a Scraper Scenario.
 */
export interface DBScenario extends TestMetadata {
    name: string;
    mode: 'scrape' | 'crawl' | 'validate';
    baseUrl: string;
    doc_type: string;
    flows: string[];
    steps?: DSLStep[];
    database?: {
        enabled: boolean;
        collection: string;
    };
    inputData?: Record<string, any>;
    sharedDataRefs?: string[];
}
/**
 * Database representation of a reusable interaction flow.
 */
export interface DBFlow extends TestMetadata {
    name: string;
    steps: DSLStep[];
}
/**
 * Database representation of a selector set.
 */
export interface DBSelectorSet extends TestMetadata {
    name: string;
    mappings: Record<string, string | string[]>;
}
/**
 * Database representation of a shared data set.
 */
export interface DBSharedData extends TestMetadata {
    name: string;
    data: Record<string, any>;
}
