import { HttpClient } from '@angular/common/http';
import { OnInit, OnChanges, SimpleChanges, EventEmitter, ChangeDetectorRef, ElementRef } from '@angular/core';
import { KubernetesSchemaService } from '../../core/services/kubernetes-schema.service';
import { KubernetesResource, OpenAPIV3SchemaObject } from '../../core/types/public-api';
import { YamlExample } from './types';
import * as i0 from "@angular/core";
export declare class ResourceYamlSidebarComponent implements OnInit, OnChanges {
    private schemaService;
    private http;
    private cdr;
    private host;
    resource: KubernetesResource;
    schema: OpenAPIV3SchemaObject;
    close: EventEmitter<void>;
    tryYaml: EventEmitter<string>;
    schemaEnable: boolean;
    exampleEnable: boolean;
    extraExamples: YamlExample[];
    private readonly DEFINITIONS_PREFIX;
    currentSchema: OpenAPIV3SchemaObject;
    currentSchemaDescription: string;
    properties: {
        [key: string]: OpenAPIV3SchemaObject;
    };
    path: string[];
    resourceKind: string;
    examples: YamlExample[];
    hasSchema: boolean;
    hasExamples: boolean;
    constructor(schemaService: KubernetesSchemaService, http: HttpClient, cdr: ChangeDetectorRef, host: ElementRef<HTMLElement>);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    refresh(): void;
    private loadExamples;
    private loadConsoleYAMLSamples;
    drillDownToProperty(name: string): void;
    navigateToPath(index: number): void;
    /**
     * 检查属性是否有 $ref 引用或嵌套属性
     */
    hasViewableContent(property: OpenAPIV3SchemaObject): boolean;
    tryExample(example: YamlExample): void;
    downloadYaml(example: YamlExample): void;
    processDescription(description: string): string;
    private scrollTop;
    static ɵfac: i0.ɵɵFactoryDeclaration<ResourceYamlSidebarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ResourceYamlSidebarComponent, "acl-resource-yaml-sidebar", never, { "resource": { "alias": "resource"; "required": false; }; "schema": { "alias": "schema"; "required": false; }; "schemaEnable": { "alias": "schemaEnable"; "required": false; }; "exampleEnable": { "alias": "exampleEnable"; "required": false; }; "extraExamples": { "alias": "extraExamples"; "required": false; }; }, { "close": "close"; "tryYaml": "tryYaml"; }, never, never, true, never>;
}
