import type { EdictProjectionProvider } from "./edict-projection.js"; import type { WesleyProjectionProvider } from "./wesley-projection.js"; export type ProjectionProviderBinding = { readonly kind: "edict"; readonly provider: EdictProjectionProvider; } | { readonly kind: "wesley"; readonly provider: WesleyProjectionProvider; }; export interface ProjectionProviderRegistration { readonly language: string; readonly extensions: readonly string[]; readonly provider: ProjectionProviderBinding; } export interface ProjectionProviderResolution { readonly language: string; readonly provider: ProjectionProviderBinding; } export interface ProjectionProviderRegistry { register(registration: ProjectionProviderRegistration): ProjectionProviderRegistry; resolve(opts: { readonly path: string; readonly language?: string | null | undefined; }): ProjectionProviderResolution | null; } export declare class ProjectionProviderRegistryError extends Error { constructor(message: string); } export declare function createProjectionProviderRegistry(registrations?: readonly ProjectionProviderRegistration[]): ProjectionProviderRegistry; //# sourceMappingURL=projection-provider-registry.d.ts.map