import * as ts from "typescript";
import { SourceFile } from "./../file";
import { Node } from "./../common";
import { Program } from "./Program";
import { ReferencedSymbol, RenameLocation } from "./results";
export declare class LanguageService {
    private readonly _compilerObject;
    private readonly sourceFiles;
    private readonly compilerHost;
    private program;
    /**
     * Gets the compiler language service.
     */
    readonly compilerObject: ts.LanguageService;
    /**
     * Gets the language service's program.
     */
    getProgram(): Program;
    renameNode(node: Node, newName: string): void;
    renameLocations(renameLocations: RenameLocation[], newName: string): void;
    /**
     * Finds references based on the specified node.
     * @param sourceFile - Source file.
     * @param node - Node to find references for.
     */
    findReferences(sourceFile: SourceFile, node: Node): ReferencedSymbol[];
    /**
     * Finds references based on the specified position.
     * @param sourceFile - Source file.
     * @param pos - Position to find the reference at.
     */
    findReferences(sourceFile: SourceFile, pos: number): ReferencedSymbol[];
    findRenameLocations(node: Node): RenameLocation[];
    addSourceFile(sourceFile: SourceFile): void;
    removeSourceFile(sourceFile: SourceFile): boolean;
    getSourceFiles(): SourceFile[];
}
