import { Context, Effect } from "effect"; import type { SerializationError, UnsupportedFormatError } from "../errors/storage-errors.js"; export interface SerializerRegistryShape { readonly serialize: (data: unknown, extension: string) => Effect.Effect; readonly deserialize: (content: string, extension: string) => Effect.Effect; /** * Enumerate the file extensions (without leading dots) the active registry * can decode. Includes any plugin-added extensions, reflecting active-registry * semantics. Order is stable: registration order, de-duplicated. */ readonly supportedExtensions: () => ReadonlyArray; } export declare const SerializerRegistry: Context.Service; export type SerializerRegistry = SerializerRegistryShape; /** * Product-agnostic accessor for the active registry's supported document * extensions. Returns extensions only (no basenames or discovery patterns), so * consumers can decide which files a document graph may decode without encoding * any consumer-specific policy. */ export declare const getSupportedExtensions: Effect.Effect, never, SerializerRegistry>; //# sourceMappingURL=serializer-service.d.ts.map