import { Diagnostic, Uri } from '../../../../util/common/test/shims/vscodeTypesShim';
import { ContextItem, ContextKind } from '../../../languageServer/common/languageContextService';
export type LanguageContextEntry = {
    context: ContextItem;
    timeStamp: number;
    onTimeout: boolean;
};
export type LanguageContextResponse = {
    start: number;
    end: number;
    items: LanguageContextEntry[];
};
type SerializedSnippetContext = {
    kind: ContextKind.Snippet;
    priority: number;
    uri: string;
    additionalUris?: string[];
    value: string;
};
type SerializedTraitContext = {
    kind: ContextKind.Trait;
    priority: number;
    name: string;
    value: string;
};
type SerializedDiagnosticBagContext = {
    kind: ContextKind.DiagnosticBag;
    priority: number;
    uri: string;
    values: Omit<SerializedDiagnostic, 'uri'>[];
};
type SerializedContextItem = SerializedSnippetContext | SerializedTraitContext | SerializedDiagnosticBagContext;
export type SerializedContextResponse = {
    start: number;
    end: number;
    items: {
        context: SerializedContextItem;
        timeStamp: number;
    }[];
};
export declare function serializeLanguageContext(response: LanguageContextResponse): SerializedContextResponse;
export type SerializedDiagnostic = {
    uri: string;
    severity: 'Error' | 'Warning' | 'Information' | 'Hint';
    message: string;
    source: string;
    code: string | number | undefined;
    range: string;
};
export declare function serializeFileDiagnostics(diagnostics: [Uri, Diagnostic[]][]): SerializedDiagnostic[];
export {};
//# sourceMappingURL=languageContext.d.ts.map