import { parseGitHubActionsFile } from '../utils/github-actions-parser';
import type { Dependency, Logger, PackageFile,  } from '../types';
export declare class PackageScanner {
  private readonly projectPath: string;
  private readonly logger: Logger;
  constructor(projectPath: string, logger: Logger);
  scanProject(): Promise<PackageFile[]>;
  parsePackageJsonFile(filePath: string): Promise<PackageFile | null>;
  parseLockFile(filePath: string): Promise<PackageFile | null>;
  parseDependencyFile(filePath: string): Promise<PackageFile | null>;
  private findDependencyFiles(): Promise<string[]>;
  private findGitHubActionsFiles(): Promise<string[]>;
  parseGitHubActionsFile(filePath: string): Promise<PackageFile | null>;
  private findComposerFiles(): Promise<string[]>;
  parseComposerFile(filePath: string): Promise<PackageFile | null>;
  private extractDependencies(deps: Record<string, string> | undefined, type: Dependency['type'], filePath: string, dependencies: Dependency[]): void;
  private extractLockFileDependencies(content: string, type: PackageFile['type'], filePath: string): Promise<Dependency[]>;
  private findFiles(fileName: string, dir?: any): Promise<string[]>;
  private findLockFiles(): Promise<string[]>;
  private findFilesByPattern(pattern: string): Promise<string[]>;
  private findFilesByPatternInDir(pattern: string, dir: string): Promise<string[]>;
  private shouldSkipDirectory(dirName: string): boolean;
  private getRelativePath(absolutePath: string): string;
  getDependencyCount(): Promise<number>;
  getUniqueDependencies(): Promise<Dependency[]>;
}