import type * as tae from 'typescript-api-extractor';
import { type ExternalTypesCollector } from "./externalTypes.mjs";
export interface FormatTypeOptions {
  removeUndefined?: boolean;
  jsdocTags?: tae.DocumentationTag[];
  expandObjects?: boolean;
  exportNames: string[];
  typeNameMap: Record<string, string>;
  externalTypesCollector?: ExternalTypesCollector;
  selfName?: string;
  withPropertyComments?: boolean;
  preserveTypeParameters?: boolean;
}
export declare function formatType(type: tae.AnyType, options: FormatTypeOptions): string;
/**
 * Formats a TypeScript type into a prettified string representation.
 *
 * This is a convenience wrapper around `formatType()` that applies Prettier formatting
 * to the resulting type string. It delegates to `formatType()` for the core type
 * processing, then runs the output through `prettyFormat()` for consistent styling.
 */
export declare function prettyFormatType(type: tae.AnyType, options: FormatTypeOptions): Promise<string>;
export declare function getFullyQualifiedName(typeName: tae.TypeName, exportNames: string[], typeNameMap: Record<string, string>, preserveTypeParameters?: boolean): string;