import { Connection, TextEdit, TextDocumentSaveReason } from "vscode-languageserver/node";
import { TextDocument } from "vscode-languageserver-textdocument";
import { Settings } from "./settings";
import { AutofixService } from "./autofix_service";
import { FormattingService } from "./formatting_service";
export declare class DocumentSaveService {
    private connection;
    private settings;
    private autofixService;
    private formattingService;
    constructor(connection: Connection, settings: Settings, autofixService: AutofixService, formattingService: FormattingService);
    /**
     * Apply only autofix edits on save.
     * Called by willSaveWaitUntil - formatting is handled separately by editor.formatOnSave
     */
    applyFixes(document: TextDocument): Promise<TextEdit[]>;
    /**
     * Apply autofix and formatting.
     * Called by onDocumentFormatting (manual format or editor.formatOnSave)
     */
    applyFixesAndFormatting(document: TextDocument, reason: TextDocumentSaveReason): Promise<TextEdit[]>;
}
