import { MonacoLanguageService } from '@alauda/code-editor';
import { OnDestroy, AfterViewInit } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { KubernetesSchemaService, YamlUtilService, Arrayable, KubernetesResource, OpenAPIV3SchemaObject } from '../../core/public-api';
import { EditorInstanceProvider } from '../managed-fields-folder.util';
import * as i0 from "@angular/core";
export declare class ResourceYamlDisplayComponent<T extends KubernetesResource> implements OnDestroy, AfterViewInit, EditorInstanceProvider {
    readonly yamlUtil: YamlUtilService;
    readonly schemaService: KubernetesSchemaService;
    private readonly monacoLanguageService;
    private destroy$;
    concise$$: BehaviorSubject<boolean>;
    reduce$$: BehaviorSubject<boolean>;
    showSidebar$$: BehaviorSubject<boolean>;
    showDebugPanel$$: BehaviorSubject<boolean>;
    modelUri: string;
    private yamlSchemaService;
    private monacoEditor;
    private registeredSchemas;
    codeEditorRef: {
        editor: import('monaco-editor/esm/vs/editor/editor.api').editor.IStandaloneCodeEditor;
    };
    hasWrapper: boolean;
    showDebugInfo: boolean;
    conciseEnable: boolean;
    manageFieldActionEnable: boolean;
    sidebarEnable: boolean;
    schemaEnable: boolean;
    exampleEnable: boolean;
    autoFoldManagedFields: boolean;
    schema: OpenAPIV3SchemaObject;
    resource: Arrayable<T>;
    readonly resource$: Observable<Arrayable<T>>;
    readonly schema$: Observable<OpenAPIV3SchemaObject>;
    minimap: boolean;
    yamlReadMinimapOptions: import("../code-editor-configs").IEditorConstructionOptions;
    yamlReadOptions: import("../code-editor-configs").IEditorConstructionOptions;
    hasFolded: boolean;
    /**
     * 自动获取的 schema，当没有手动提供 schema 时使用
     */
    autoSchema$: Observable<OpenAPIV3SchemaObject>;
    /**
     * 最终使用的 schema，优先使用手动提供的，否则使用自动获取的
     */
    finalSchema$: Observable<OpenAPIV3SchemaObject>;
    constructor(yamlUtil: YamlUtilService, schemaService: KubernetesSchemaService, monacoLanguageService: MonacoLanguageService);
    yaml$: Observable<string>;
    get editorOptions(): import("../code-editor-configs").IEditorConstructionOptions;
    viewActions: import("@alauda/code-editor").CodeEditorActionsConfig;
    conciseChange(value: boolean): void;
    toggleSidebar(): void;
    toggleDebugInfo(): void;
    getCurrentResource(): T | null;
    getCurrentSchema(): OpenAPIV3SchemaObject | null;
    selfFoldManagedFields(): void;
    /**
     * 设置 YAML schema 以提供 hover 提示和自动完成
     */
    setYamlSchema(resource: T, schema: OpenAPIV3SchemaObject): void;
    ngAfterViewInit(): void;
    /**
     * 获取 Monaco Editor 实例
     */
    getEditorInstance(): import('monaco-editor/esm/vs/editor/editor.api').editor.IStandaloneCodeEditor | null;
    /**
     * 自动折叠 managedFields 字段
     */
    foldManagedFields(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ResourceYamlDisplayComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ResourceYamlDisplayComponent<any>, "acl-resource-yaml-display", never, { "hasWrapper": { "alias": "hasWrapper"; "required": false; }; "showDebugInfo": { "alias": "showDebugInfo"; "required": false; }; "conciseEnable": { "alias": "conciseEnable"; "required": false; }; "manageFieldActionEnable": { "alias": "manageFieldActionEnable"; "required": false; }; "sidebarEnable": { "alias": "sidebarEnable"; "required": false; }; "schemaEnable": { "alias": "schemaEnable"; "required": false; }; "exampleEnable": { "alias": "exampleEnable"; "required": false; }; "autoFoldManagedFields": { "alias": "autoFoldManagedFields"; "required": false; }; "schema": { "alias": "schema"; "required": false; }; "resource": { "alias": "resource"; "required": false; }; "minimap": { "alias": "minimap"; "required": false; }; }, {}, never, never, true, never>;
}
