import * as vscode from 'vscode-languageserver-protocol';
import type * as html from 'vscode-html-languageservice';
import type { FileKind, FileRangeCapabilities } from '@volar/language-core';
/**
 * Server request client
 */
export declare namespace FsReadFileRequest {
    const type: vscode.RequestType<string, Uint8Array | null | undefined, unknown>;
}
export declare namespace FsReadDirectoryRequest {
    const type: vscode.RequestType<string, [string, html.FileType][], unknown>;
}
/**
 * Client request server
 */
export declare namespace FindFileReferenceRequest {
    type ParamsType = {
        textDocument: vscode.TextDocumentIdentifier;
    };
    type ResponseType = vscode.Location[] | null | undefined;
    type ErrorType = never;
    const type: vscode.RequestType<ParamsType, ResponseType, never>;
}
export declare namespace GetMatchTsConfigRequest {
    type ParamsType = vscode.TextDocumentIdentifier;
    type ResponseType = {
        uri: string;
    } | null | undefined;
    type ErrorType = never;
    const type: vscode.RequestType<vscode.TextDocumentIdentifier, ResponseType, never>;
}
export declare namespace AutoInsertRequest {
    type ParamsType = vscode.TextDocumentPositionParams & {
        options: {
            lastChange: {
                range: vscode.Range;
                rangeOffset: number;
                rangeLength: number;
                text: string;
            };
        };
    };
    type ResponseType = string | vscode.TextEdit | null | undefined;
    type ErrorType = never;
    const type: vscode.RequestType<ParamsType, ResponseType, never>;
}
export declare namespace WriteVirtualFilesNotification {
    const type: vscode.NotificationType<vscode.TextDocumentIdentifier>;
}
export declare namespace ReloadProjectNotification {
    const type: vscode.NotificationType<vscode.TextDocumentIdentifier>;
}
export declare namespace GetVirtualFileNamesRequest {
    type ParamsType = vscode.TextDocumentIdentifier & {
        fileKinds?: FileKind[];
    };
    type ResponseType = string[];
    type ErrorType = never;
    const type: vscode.RequestType<ParamsType, ResponseType, never>;
}
export declare namespace GetVirtualFileRequest {
    type ParamsType = {
        sourceFileUri: string;
        virtualFileName: string;
    };
    type ResponseType = {
        content: string;
        mappings: Record<string, {
            sourceRange: [number, number];
            generatedRange: [number, number];
            data: FileRangeCapabilities;
        }[]>;
    };
    type ErrorType = never;
    const type: vscode.RequestType<ParamsType, ResponseType, never>;
}
export declare namespace ReportStats {
    const type: vscode.NotificationType0;
}
