import { ClientCapabilities, Connection, InitializeParams } from "vscode-languageserver/node";
import { Config } from "@herb-tools/config";
export interface PersonalHerbSettings {
    trace?: {
        server?: string;
    };
    linter?: {
        enabled?: boolean;
        fixOnSave?: boolean;
    };
    formatter?: {
        enabled?: boolean;
        indentWidth?: number;
        maxLineLength?: number;
    };
}
export declare class Settings {
    defaultSettings: PersonalHerbSettings;
    globalSettings: PersonalHerbSettings;
    documentSettings: Map<string, Thenable<PersonalHerbSettings>>;
    projectConfig?: Config;
    hasConfigurationCapability: boolean;
    hasWorkspaceFolderCapability: boolean;
    hasDiagnosticRelatedInformationCapability: boolean;
    hasShowDocumentCapability: boolean;
    params: InitializeParams;
    capabilities: ClientCapabilities;
    connection: Connection;
    constructor(params: InitializeParams, connection: Connection);
    initializeProjectConfig(config?: Config): Promise<void>;
    refreshProjectConfig(config?: Config): Promise<void>;
    private mergeSettings;
    get projectPath(): string;
    getDocumentSettings(resource: string): Thenable<PersonalHerbSettings>;
}
