/**
 * Format declaration file content
 */
export declare function formatDts(content: string, config?: FormatterConfig, filePath?: string): Promise<FormatResult>;
/**
 * Format multiple files
 */
export declare function formatFiles(files: Map<string, string>, config?: FormatterConfig): Promise<Map<string, FormatResult>>;
/**
 * Create a formatter with preset configuration
 */
export declare function createFormatter(config?: FormatterConfig): {
  format: (content: string, filePath?: string) => Promise<FormatResult>
  formatMany: (files: Map<string, string>) => Promise<Map<string, FormatResult>>
};
/**
 * Quick format with sensible defaults
 */
export declare function quickFormat(content: string): Promise<string>;
/**
 * Formatter configuration options
 */
export declare interface FormatterConfig {
  usePrettier?: boolean
  prettierConfigPath?: string
  prettierOptions?: PrettierOptions
  builtIn?: BuiltInFormatterOptions
}
/**
 * Prettier-compatible options
 */
export declare interface PrettierOptions {
  printWidth?: number
  tabWidth?: number
  useTabs?: boolean
  semi?: boolean
  singleQuote?: boolean
  trailingComma?: 'none' | 'es5' | 'all'
  bracketSpacing?: boolean
  parser?: string
}
/**
 * Built-in formatter options (when Prettier is not available)
 */
export declare interface BuiltInFormatterOptions {
  indentSize?: number
  useTabs?: boolean
  maxLineWidth?: number
  trailingNewline?: boolean
  normalizeWhitespace?: boolean
  sortImports?: boolean
  groupImports?: boolean
}
/**
 * Result of formatting operation
 */
export declare interface FormatResult {
  content: string
  usedPrettier: boolean
  warnings?: string[]
}
