import { Connection, TextDocuments, DocumentFormattingParams, TextEdit } from "vscode-languageserver/node";
import { TextDocument } from "vscode-languageserver-textdocument";
import { Project } from "./project";
import { Settings } from "./settings";
export declare class FormattingService {
    private connection;
    private documents;
    private project;
    private settings;
    private config?;
    constructor(connection: Connection, documents: TextDocuments<TextDocument>, project: Project, settings: Settings);
    initialize(): Promise<void>;
    refreshConfig(): Promise<void>;
    private shouldFormatFile;
    private getFormatterOptions;
    private performFormatting;
    formatDocument(params: DocumentFormattingParams): Promise<TextEdit[]>;
    formatDocumentIgnoreConfig(params: DocumentFormattingParams): Promise<TextEdit[]>;
}
