import type { ParserOptions } from './options'; /** * Format names and ensure uniqueness of names. * With `strictNaming` enabled, duplicate names lead to an error. * With `strictNaming` disabled, duplicate names are renamed. * The formatted (and renamed) list of names has the same order and length as the original list. * @param names - List of names to ensure uniqueness for. * @param options - Parser options. * @param namingOptions - Object containing options to configure the transformation. * @param options.format - Function to format the name. Defaults to camel case. * @param options.reservedWords - Reserved words that should be handled as duplicates. * @param options.separator - Character between index and original name. * @returns Unique names in the given order. * @internal */ export declare function ensureUniqueNames(names: string[], options: ParserOptions, namingOptions?: { format?: (name: string) => string; reservedWords?: string[]; separator?: string; }): string[]; /** * Validate uniqueness of names. * Takes a list of names and throws an error if there are duplicates after formatting. * @param names - List of names to ensure uniqueness for. * @param formattedNames - Original transformed names. * @param reservedWords - Reserved words that should be handled as duplicates. * @internal */ export declare function validateUniqueness(names: string[], formattedNames: string[], reservedWords?: string[]): void; /** * Deduplicate names. * Takes a list of names and renames those that are duplicate. * The renamed list has the same order as the original list. * @param names - List of names to deduplicate. * @param namingOptions - Object containing options to configure the transformation. * @param namingOptions.format Function to format the name. * @param namingOptions.reservedWords Reserved words that should be handled as duplicates. * @returns Unique names in the given order. * @internal */ export declare function deduplicateNames(names: string[], namingOptions?: { format?: (name: string) => string; reservedWords?: string[]; separator?: string; }): string[];