import type { SupportedLocale, ExperienceLevel, DatabaseEngine, DatabaseCategory, ArchitecturePattern } from '../common.js';
import type { EnvSetupGuide, LintingAnalysis } from '../env.js';
import type { ApiContract, AdvancedTestingDetectionResult } from '../testing.js';
import type { McpServerInfo } from '../mcp.js';
import type { QualityProfile } from '../analysis.js';
import type { ContextSource } from '../context.js';
import type { HypermediaFramework, TurboSubtype, RenderingMode, BuildToolDetectionResult } from '../stack.js';
import type { EdgeDbDetectionResult } from '../edge-db.js';
import type { AiNativeDetectionResult } from '../ai-native.js';
import type { OtelDetectionResult } from '../analysis-detection.js';
import type { LlmDetectionResult } from '../llm-security.js';
import type { SupplyChainReport } from '../supply-chain.js';
import type { LocalFirstDetectionResult } from '../local-first.js';
import type { MobilePlatform, MobileFramework, MobileArchPattern, MobilePackageManager } from './platform-mobile.js';
import type { ProjectCategory } from './platform-specialty.js';
import type { DetectedLibraries } from './library-groups.js';
import type { AgentProjectKnowledge } from './agent.js';
import type { ArchitectureDetection } from './architecture-detection.js';
import type { MfeDetectionResult } from './mfe-detection.js';
export type { DetectedLibraries };
export * from './agent.js';
export * from './architecture-detection.js';
export * from './constitution.js';
export * from './config-metrics.js';
export * from './mfe-detection.js';
export interface ProjectApp {
    name: string;
    path: string;
    type: 'frontend' | 'backend' | 'mobile' | 'ios' | 'android' | 'desktop' | 'shared' | 'worker' | 'docs';
    language: string;
    framework: string | null;
    database?: DatabaseEngine;
    orm?: string;
    packageManager?: string;
    architecture?: ArchitecturePattern;
    platform?: 'ios' | 'android' | 'web' | 'macos' | 'windows' | 'linux' | 'cross-platform';
    mobilePlatform?: MobilePlatform;
    mobileFramework?: MobileFramework;
    mobileArch?: MobileArchPattern;
    mobilePackageManager?: MobilePackageManager;
    mobileCapabilities?: string[];
    mobileDeployTarget?: string;
}
export interface ProjectKnowledge {
    projectId: string;
    projectPath: string;
    locale: SupportedLocale;
    experienceLevel: ExperienceLevel;
    language: string;
    languageVersion: string | null;
    framework: string | null;
    frameworkVersion: string | null;
    packageManager: string | null;
    buildCommand: string | null;
    testCommand: string | null;
    lintCommand: string | null;
    stack: string[];
    database: DatabaseEngine;
    orm: string | null;
    architecture: ArchitectureDetection;
    apps: ProjectApp[];
    conventions: Record<string, string>;
    layers: string[];
    environments: string[];
    apiContracts: ApiContract[];
    monorepo: boolean;
    externalServices: string[];
    tooling: Record<string, string>;
    specLocation: string;
    envSetup: EnvSetupGuide;
    linting: LintingAnalysis;
    availableMcps: McpServerInfo[];
    docsRegistry: Record<string, {
        base: string;
        search: string;
    }>;
    qualityProfile: QualityProfile;
    lastAnalyzed: string;
    projectCategory?: ProjectCategory;
    agentKnowledge?: AgentProjectKnowledge;
    contextRequested?: boolean;
    contributedSources?: ContextSource[];
    hypermediaFramework?: HypermediaFramework;
    turboSubtype?: TurboSubtype;
    jsComplement?: 'alpine' | 'petite-vue' | 'none';
    rendering?: RenderingMode;
    templateEngine?: string;
    hasBundler?: boolean;
    otelDetection?: OtelDetectionResult;
    supplyChain?: SupplyChainReport;
    llmDetection?: LlmDetectionResult;
    localFirst?: LocalFirstDetectionResult;
    advancedTesting?: AdvancedTestingDetectionResult;
    detectedLibraries?: DetectedLibraries;
    buildTool?: BuildToolDetectionResult;
    edgeDb?: EdgeDbDetectionResult;
    k3sDetected?: boolean;
    nomadDetected?: boolean;
    packageManagerPython?: 'pip' | 'poetry' | 'uv' | 'rye' | 'hatch';
    runtime?: 'node' | 'bun' | 'deno';
    mfeDetection?: MfeDetectionResult;
    aiNativeDetection?: AiNativeDetectionResult;
    databaseCategory?: DatabaseCategory;
    cacheEngine?: 'redis' | 'memcached' | 'valkey' | null;
    searchEngine?: 'elasticsearch' | 'opensearch' | 'meilisearch' | 'algolia' | 'typesense' | null;
    vectorDb?: 'pinecone' | 'weaviate' | 'qdrant' | 'milvus' | 'chromadb' | 'pgvector' | null;
    timeseriesDb?: 'influxdb' | 'timescaledb' | 'questdb' | null;
    graphDb?: 'neo4j' | 'arangodb' | 'neptune' | 'dgraph' | null;
    hasVectorExtension?: boolean;
    cloudDbProvider?: 'aws' | 'gcp' | 'azure' | null;
    userProfile?: 'developer' | 'product-owner' | 'designer' | 'non-technical' | null;
}
export interface ProjectCompleteness {
    hasReadme: boolean;
    hasGitignore: boolean;
    hasEnvExample: boolean;
    hasLicense: boolean;
    hasEditorConfig: boolean;
    hasLinting: boolean;
    hasFormatting: boolean;
    hasTesting: boolean;
    hasCiCd: boolean;
    hasErrorTracking: boolean;
    hasTypeChecking: boolean;
    hasSecurityScanning: boolean;
    hasDocumentation: boolean;
    hasContributing: boolean;
    hasChangelogStrategy: boolean;
    hasBackupStrategy: boolean;
    hasAccessibility: boolean;
    hasSeo: boolean;
    hasPerformanceBudget: boolean;
    hasSeedData: boolean;
    completenessScore: number;
}
//# sourceMappingURL=core.d.ts.map