import type { FormatCodeSettings, UserPreferences } from 'typescript/lib/tsserverlibrary';
import type { TSLanguageService, TypeScript } from '../contracts/TypeScript';
import { FilesystemService } from '../services/FilesystemService';
import { TemplateDeclarationsService } from '../services/TemplateDeclarationsService';
import { TypescriptContextService } from '../services/TypescriptContextService';
export declare class RenameService implements Pick<TSLanguageService, 'getRenameInfo' | 'findRenameLocations' | 'getEditsForFileRename'> {
    private readonly ts;
    private readonly fs;
    private readonly declarations;
    constructor(ts: TypescriptContextService, fs: FilesystemService, declarations: TemplateDeclarationsService);
    getRenameInfo(fileName: string, position: number, preferences: TypeScript.UserPreferences): TypeScript.RenameInfo;
    findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): readonly TypeScript.RenameLocation[] | undefined;
    getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): readonly TypeScript.FileTextChanges[];
    private pick;
    private processRenameInfo;
    processRenameLocations(locations: readonly TypeScript.RenameLocation[] | undefined): readonly TypeScript.RenameLocation[] | undefined;
}
//# sourceMappingURL=RenameService.d.ts.map