import type { DtsGenerationConfig } from './types';
/**
 * Exhaustive check helper for switch statements
 * This function should never be called if all cases are handled
 * TypeScript will error if a case is missing
 */
export declare function assertNever(value: never, message?: string): never;
export declare function writeToFile(filePath: string, content: string): Promise<void>;
export declare function getAllTypeScriptFiles(directory?: string): Promise<string[]>;
// only checks for 2 potentially nested levels
export declare function checkIsolatedDeclarationsConfig(options?: DtsGenerationConfig): Promise<boolean>;
/**
 * Validate a .d.ts file content against TypeScript compiler
 */
export declare function validateDtsContent(content: string, filename: string): ValidationResult;
/**
 * Simple line-by-line diff between two strings
 * Returns formatted diff output with +/- prefixes
 */
export declare function createDiff(oldContent: string, newContent: string, filename: string): string;
/**
 * Generate a simple source map for a declaration file
 * This creates a basic 1:1 mapping since we're doing declaration extraction
 */
export declare function generateDeclarationMap(dtsContent: string, dtsFilename: string, sourceFilename: string, sourceContent: string): DeclarationSourceMap;
/**
 * Add source map URL comment to declaration content
 */
export declare function addSourceMapComment(dtsContent: string, mapFilename: string): string;
/**
 * Validation error details
 */
export declare interface ValidationError {
  line: number
  column: number
  message: string
  code?: string
  suggestion?: string
}
/**
 * Validation result for a .d.ts file
 */
export declare interface ValidationResult {
  isValid: boolean
  errors: ValidationError[]
}
/**
 * Source map for declaration files
 */
export declare interface DeclarationSourceMap {
  version: 3
  file: string
  sourceRoot: string
  sources: string[]
  sourcesContent: string[]
  mappings: string
}
