import { SchemaAST } from 'effect'; import type { Schema, SchemaTransformation } from 'effect'; export type ESchemaKind = 'struct' | 'entity' | 'value'; export interface ESchemaEvolutionIntrospection { readonly version: string; readonly schema: Schema.Top; } export interface ESchemaIntrospection { readonly name: string; readonly kind: ESchemaKind; readonly idField: string | null; readonly evolutions: readonly ESchemaEvolutionIntrospection[]; } export interface ESchemaCompositionIntrospection { readonly eschema: object; readonly identity: string; } export declare function isEncodedStringSchema(schema: Schema.Top): boolean; export declare function registerESchemaIntrospection(eschema: object, introspection: () => ESchemaIntrospection): void; export declare function inspectESchema(eschema: object): ESchemaIntrospection; export declare function registerESchemaComposition(ast: SchemaAST.AST, encodedAst: SchemaAST.AST, transformation: SchemaTransformation.Transformation, introspection: ESchemaCompositionIntrospection): void; export declare function inspectESchemaComposition(ast: SchemaAST.AST): ESchemaCompositionIntrospection | undefined; export declare function isESchemaCompositionPlumbing(value: object): boolean; //# sourceMappingURL=introspection.d.ts.map