import type{LyraEventDetailSnapshot}from'../../../internal/lyra-element.js';import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import'../../overlays/badge/badge.class.js';import'../../overlays/empty/empty.class.js';export interface JsonSchemaNode{readonly $ref?:string;readonly type?:string|readonly string[];readonly title?:string;readonly description?:string;readonly properties?:Readonly>;readonly items?:JsonSchemaNode|readonly JsonSchemaNode[];readonly required?:readonly string[];readonly enum?:readonly unknown[];readonly const?:unknown;readonly default?:unknown;readonly examples?:readonly unknown[];readonly oneOf?:readonly JsonSchemaNode[];readonly anyOf?:readonly JsonSchemaNode[];readonly allOf?:readonly JsonSchemaNode[];readonly[key:string]:unknown;}export interface SchemaValidationIssue{path:string;message:string;severity?:'error'|'warning'|'info';}export interface LyraJsonSchemaViewerEventMap{'lr-schema-select':CustomEvent>;} /** * `` — a recursive, selectable JSON Schema inspector with required-state, * constraints, composition branches, `$ref` display, validation issues, cycle protection, and a * configurable depth ceiling. It does not resolve remote references or validate values. * * Public schema records and issue collections take bounded, clone-owned readonly snapshots. * Schema records recursively copy supported own data fields without invoking accessors; unsupported * or unsafe branches are omitted while valid siblings remain. Create and reassign a new record or * array after changes; mutating the assigned value does not update the view. * * @customElement lr-json-schema-viewer * @event lr-schema-select - A schema node was activated. `detail: { schemaPath, schema }`. * @csspart base - The named schema region. * @csspart tree - The recursive schema tree. * @csspart node - One schema node. * @csspart node-selected - The selected schema node. * @csspart node-trigger - A schema-node activation button. * @csspart name - Property/branch name. * @csspart type - Schema type badge. * @csspart required - Required badge. * @csspart description - Caller-supplied schema description. * @csspart constraints - Recognized schema constraints. * @csspart issue - One caller-supplied validation issue. * @csspart limit - Resource-ceiling status shown when additional nodes are omitted. * @csspart issue-limit - Resource-ceiling status shown when additional validation issues are omitted. * @csspart empty - The empty state. * @cssprop [--lr-schema-viewer-selected-border=var(--lr-color-brand)] - Selected node branch. * @cssprop [--lr-schema-viewer-max-indent=var(--lr-size-12rem)] - Maximum visual indentation; * complete JSON Pointer paths and selection semantics remain unchanged at deeper levels. * @cssprop [--lr-schema-viewer-error-border=var(--lr-color-danger)] - Error issue border. * @cssprop [--lr-schema-viewer-error-bg=var(--lr-color-danger-quiet)] - Error issue background. * @cssprop [--lr-schema-viewer-warning-border=var(--lr-color-warning)] - Warning issue border. * @cssprop [--lr-schema-viewer-warning-bg=var(--lr-color-warning-quiet)] - Warning issue background. * @cssprop [--lr-schema-viewer-info-border=var(--lr-color-brand)] - Info issue border. * @cssprop [--lr-schema-viewer-info-bg=var(--lr-color-brand-quiet)] - Info issue background. * @status stable * @since 9.0.0 */ export declare class LyraJsonSchemaViewer extends LyraElement{protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];protected static readonly immutableEventDetails:readonly string[];private schemaValue; /** Clone-owned recursive schema snapshot. Reassign a new record after changing any branch. * Bounded and depth-clamped by {@link snapshotSchemaNode}; a malformed branch is omitted * without discarding admitted siblings. A runtime non-array `required` keyword is absent. */ get schema():JsonSchemaNode|null;set schema(value:JsonSchemaNode|null);issues:readonly SchemaValidationIssue[]; /** Controlled JSON Pointer selection. `null` means no selection; the empty * string is the valid JSON Pointer for the schema root. */ selectedPath:string|null; /** Requested nesting depth, clamped to 100 to keep recursive template construction stack-safe. */ maxDepth:number;label:string;private announcementSink?;private previousNodeLimitText;private previousIssueLimitText;private suppressNextLimitAnnouncement;private syncAnnouncementSink;connectedCallback():void;disconnectedCallback():void;protected updated(_changed:PropertyValues):void;private pointerSegment;private constraints;private renderNode;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-json-schema-viewer':LyraJsonSchemaViewer;}}