import type { ValidationResult } from "../validate.js"; import type { CompileJsonSchemaOptions } from "./types.js"; export interface JsonSchemaProperty { readonly name: string; /** Required regardless of the object's selected alternative or condition. */ readonly required: boolean; /** Isolated annotation/schema copies, including resolved references. */ readonly schemas: readonly unknown[]; /** Candidate hint: accepts a value matching at least one advertised declaration. * Validate the complete object to enforce compositions and conditional rules. */ validate(value: unknown): ValidationResult; } /** Project names and candidate validators while retaining the native reference graph. * Property hints cover declarations in refs, compositions and conditional branches; * full object validation remains necessary for branch-dependent constraints. */ export declare function projectJsonSchemaProperties(schema: unknown, options?: CompileJsonSchemaOptions): readonly JsonSchemaProperty[];