/**
 * Project Metadata Detector - Extracts project metadata from package.json and configuration files
 */
export interface PackageJsonMetadata {
    name?: string;
    version?: string;
    description?: string;
    private?: boolean;
    scripts?: Record<string, string>;
    dependencies?: Record<string, string>;
    devDependencies?: Record<string, string>;
    engines?: {
        node?: string;
        npm?: string;
    };
}
export interface FrameworkInfo {
    react?: string;
    nextjs?: string;
    typescript?: string;
    nodejs?: string;
}
export interface DevelopmentTools {
    buildTools: Record<string, string>;
    linting: Record<string, string>;
    testing: Record<string, string>;
    bundlers: Record<string, string>;
}
export interface UIAndStyling {
    cssFrameworks: Record<string, string>;
    uiLibraries: Record<string, string>;
    iconLibraries: Record<string, string>;
}
export interface StateManagement {
    libraries: Record<string, string>;
}
export interface ConfigurationFiles {
    nextConfig: boolean;
    tsConfig: boolean;
    eslintConfig: boolean;
    prettierConfig: boolean;
    jestConfig: boolean;
    vitestConfig: boolean;
    playwrightConfig: boolean;
    cypressConfig: boolean;
}
export interface ProjectMetadata {
    packageInfo: {
        name?: string;
        version?: string;
        description?: string;
        private?: boolean;
        hasScripts: boolean;
        scriptCount: number;
    };
    framework: FrameworkInfo;
    developmentTools: DevelopmentTools;
    uiAndStyling: UIAndStyling;
    stateManagement: StateManagement;
    configurationFiles: ConfigurationFiles;
}
/**
 * Detects project metadata from package.json and configuration files
 * @param projectRoot Root directory of the project
 * @returns ProjectMetadata object with all detected information
 */
export declare function detectProjectMetadata(projectRoot: string): ProjectMetadata;
