import type { DtsGenerationConfig } from './types';
/**
 * Bundle multiple TypeScript files into a single .d.ts file
 */
export declare function bundleDeclarations(files: string[], sourceContents: Map<string, string>, config: DtsGenerationConfig): Promise<BundleResult>;
/**
 * Bundle multiple .d.ts files into a single file
 */
export declare function bundleDtsFiles(files: string[], config?: Partial<BundleConfig>): Promise<BundleResult>;
/**
 * Bundle and write to file
 */
export declare function bundleAndWrite(files: string[], outputPath: string, config?: Partial<BundleConfig>): Promise<BundleResult>;
/**
 * Create a bundler with preset configuration
 */
export declare function createBundler(config?: Partial<BundleConfig>): {
  bundle: (files: string[]) => Promise<BundleResult>
  bundleAndWrite: (files: string[], output: string) => Promise<BundleResult>
};
/**
 * Resolve entry files from glob patterns
 */
export declare function resolveEntryFiles(patterns: string | string[], cwd?: string): Promise<string[]>;
/**
 * Bundle configuration options
 */
export declare interface BundleConfig {
  entry: string | string[]
  output: string
  name?: string
  includeSourceComments?: boolean
  preserveFileSections?: boolean
  externals?: string[]
  banner?: string
  footer?: string
  sortDeclarations?: boolean
  mergeDuplicates?: boolean
  ambient?: boolean
  moduleName?: string
  includeReferences?: boolean
  references?: string[]
}
/**
 * Bundle result containing the combined declarations
 */
export declare interface BundleResult {
  content: string
  files: string[]
  declarationCount: number
  importCount: number
  exportCount: number
  size: number
  warnings: string[]
}
