export interface OtelToolingRecommendation {
    sdkPackage: string;
    autoInstrumentationPackage?: string;
    exporterPackage: string;
    collectorRecommendation: 'jaeger-all-in-one' | 'otel-collector' | 'cloud-backend';
    ebpfAlternative?: string;
}
export interface OtelCatalogEntry {
    sdkPackage: string;
    autoInstrumentation?: string;
    exporterPackage: string;
    docsUrl: string;
    level?: string;
}
export type OtelLanguageCatalog = Record<string, OtelCatalogEntry>;
export interface OtelBackendEntry {
    name: string;
    scale: string;
    dockerCompose?: string;
    docsUrl: string;
    options?: string[];
}
export interface OtelEbpfEntry {
    name: string;
    description: string;
    docsUrl: string;
    level: string;
}
export interface OtelCatalogConfig {
    languages: OtelLanguageCatalog;
    backends: Record<string, OtelBackendEntry>;
    ebpf: Record<string, OtelEbpfEntry>;
}
export interface HypermediaCatalogToolEntry {
    name: string;
    description: string;
    install: string;
    docsUrl: string;
}
export interface HypermediaCatalogEntry {
    frameworks: HypermediaCatalogToolEntry[];
    testing: HypermediaCatalogToolEntry[];
    htmxExtensions: HypermediaCatalogToolEntry[];
}
export type HypermediaCatalogMap = Record<string, HypermediaCatalogEntry>;
export interface ToolingEntry {
    name: string;
    description: string;
    category: string;
    installCommand: string;
    docsUrl: string;
    recommended: boolean;
}
export interface AdvancedTestingToolsConfig {
    propertyBased: Record<string, {
        name: string;
        install: string;
        scaffoldImport: string;
    }>;
    mutation: Record<string, {
        name: string;
        vitestPlugin?: string;
        defaultThreshold: number;
    }>;
    chaos: Record<string, {
        name: string;
        cncf?: boolean;
        dockerPulls?: number;
    }>;
    accessibility: Record<string, {
        name: string;
        vendor?: string;
        wcagCoverage?: string;
        playwrightIntegration?: string;
    }>;
}
export interface BuildToolCatalogAlternative {
    tool: string;
    when: string;
}
export interface BuildToolCatalogRecommendationNewProject {
    tool: string;
    version: string;
    justification: string;
    alternatives: BuildToolCatalogAlternative[];
}
export interface BuildToolCatalogRecommendationMigrate {
    recommendation: string;
    priority: string;
    message: string;
}
export interface BuildToolCatalogMigrationPhase {
    phase: number;
    title: string;
    steps: string[];
}
export interface BuildToolCatalogWebpackToVite {
    description: string;
    phases: BuildToolCatalogMigrationPhase[];
    configEquivalences: Record<string, string>;
    postMigrationChecklist: string[];
}
export interface BuildToolCatalogBreakingChange {
    area: string;
    description: string;
    action: string;
}
export interface BuildToolCatalogVite6ToVite7 {
    description: string;
    breakingChanges: BuildToolCatalogBreakingChange[];
    viteConfigDiff: {
        before: string;
        after: string;
    };
    rollbackStrategy: string;
    incompatiblePlugins: string[];
}
export interface BuildToolsCatalog {
    recommendations: {
        'new-project': BuildToolCatalogRecommendationNewProject;
        vite5?: BuildToolCatalogRecommendationMigrate;
        vite6?: BuildToolCatalogRecommendationMigrate;
        webpack?: BuildToolCatalogRecommendationMigrate;
        'create-react-app'?: BuildToolCatalogRecommendationMigrate;
        webpack4?: BuildToolCatalogRecommendationMigrate;
        [key: string]: unknown;
    };
    migrations: {
        'webpack-to-vite': BuildToolCatalogWebpackToVite;
        'vite6-to-vite7': BuildToolCatalogVite6ToVite7;
        [key: string]: unknown;
    };
}
//# sourceMappingURL=catalog.d.ts.map