import { Event } from "../../../base/common/event.js";
import { IJSONSchema } from "../../../base/common/jsonSchema.js";
import { DisposableStore, IDisposable } from "../../../base/common/lifecycle.js";
export declare const Extensions: {
    JSONContribution: string;
};
export interface ISchemaContributions {
    schemas: {
        [id: string]: IJSONSchema;
    };
}
export interface IJSONContributionRegistry {
    readonly onDidChangeSchema: Event<string>;
    readonly onDidChangeSchemaAssociations: Event<void>;
    registerSchema(uri: string, unresolvedSchemaContent: IJSONSchema, store?: DisposableStore): void;
    registerSchemaAssociation(uri: string, glob: string): IDisposable;
    notifySchemaChanged(uri: string): void;
    getSchemaContributions(): ISchemaContributions;
    getSchemaAssociations(): {
        [uri: string]: string[];
    };
    getSchemaContent(uri: string): string | undefined;
    hasSchemaContent(uri: string): boolean;
}
