/**
 * Project Scanner - Real Project Directory Scanner
 *
 * Scans project directories to extract structure, dependencies, frameworks, and configuration.
 * Used by project-onboarding to generate accurate, project-specific documentation.
 */
/**
 * Project type classification
 */
export type ProjectType = "typescript" | "javascript" | "python" | "go" | "rust" | "java" | "cpp" | "c" | "csharp" | "php" | "ruby" | "scala" | "kotlin" | "swift" | "objectivec" | "r" | "julia" | "haskell" | "lua" | "elixir" | "polyglot" | "unknown";
/**
 * Dependency information
 */
export interface Dependency {
    name: string;
    version: string;
    isDevDependency: boolean;
}
/**
 * Framework detection result
 */
export interface Framework {
    name: string;
    version?: string;
    confidence: "high" | "medium" | "low";
}
/**
 * Configuration file information
 */
export interface ConfigFile {
    name: string;
    path: string;
    type: "json" | "yaml" | "yml" | "toml" | "xml" | "ini" | "properties" | "hcl" | "env" | "conf" | "cfg" | "other";
}
/**
 * Directory tree node
 */
export interface DirectoryNode {
    name: string;
    type: "file" | "directory";
    children?: DirectoryNode[];
}
/**
 * Scan options
 */
export interface ScanOptions {
    maxDepth?: number;
    includeNodeModules?: boolean;
    includeDotFiles?: boolean;
}
/**
 * Complete project structure
 */
export interface ProjectStructure {
    name: string;
    type: ProjectType;
    rootPath: string;
    entryPoints: string[];
    dependencies: Dependency[];
    devDependencies: Dependency[];
    scripts: Record<string, string>;
    frameworks: Framework[];
    configFiles: ConfigFile[];
    directoryStructure: DirectoryNode;
}
/**
 * ProjectScanner class - scans real project directories
 */
export declare class ProjectScanner {
    private readonly defaultOptions;
    /**
     * Scan a project directory and extract structure
     */
    scan(projectPath: string, options?: ScanOptions): Promise<ProjectStructure>;
    /**
     * Validate that the path exists and is a directory
     */
    private validatePath;
    /**
     * Recursively scan directory structure with depth limiting
     */
    private scanDirectory;
    /**
     * Find all configuration files in the project root
     */
    private findConfigFiles;
    /**
     * Parse package.json if it exists
     */
    private parsePackageJson;
    /**
     * Parse tsconfig.json if it exists
     */
    private parseTsconfig;
    /**
     * Detect project type based on config files
     */
    private detectProjectType;
    /**
     * Detect frameworks from package.json and config files
     */
    private detectFrameworks;
    /**
     * Extract dependencies from package.json
     */
    private extractDependencies;
    /**
     * Find entry points based on package.json, tsconfig.json, and common patterns
     */
    private findEntryPoints;
}
/**
 * Singleton instance for easy import
 */
export declare const projectScanner: ProjectScanner;
//# sourceMappingURL=project-scanner.d.ts.map