/**
 * @license
 * Copyright 2019 JBoss Inc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { ChangeDetectorRef } from "@angular/core";
import { ICommand, Oas20ResponseDefinition, Oas30ResponseDefinition, OasResponse } from "apicurio-data-models";
import { SourceFormComponent } from "./source-form.base";
import { SelectionService } from "../../_services/selection.service";
import { CommandService } from "../../_services/command.service";
import { DocumentService } from "../../_services/document.service";
import { EditorsService } from "../../_services/editors.service";
import { RenameEntityDialogComponent, RenameEntityEvent } from "../dialogs/rename-entity.component";
import { CloneResponseDefinitionDialogComponent } from "../dialogs/clone-response-definition.component";
import { ApiCatalogService } from "../../_services/api-catalog.service";
export declare class ResponseFormComponent extends SourceFormComponent<OasResponse> {
    protected changeDetectorRef: ChangeDetectorRef;
    protected selectionService: SelectionService;
    protected commandService: CommandService;
    protected documentService: DocumentService;
    private editors;
    private catalog;
    private _response;
    set response(response: Oas20ResponseDefinition | Oas30ResponseDefinition);
    get response(): Oas20ResponseDefinition | Oas30ResponseDefinition;
    cloneResponseDialog: CloneResponseDefinitionDialogComponent;
    renameResponseDialog: RenameEntityDialogComponent;
    /**
     * C'tor.
     * @param changeDetectorRef
     * @param selectionService
     * @param commandService
     * @param documentService
     * @param editors
     * @param catalog
     */
    constructor(changeDetectorRef: ChangeDetectorRef, selectionService: SelectionService, commandService: CommandService, documentService: DocumentService, editors: EditorsService, catalog: ApiCatalogService);
    responseName(): string;
    is20Document(): boolean;
    is30Document(): boolean;
    protected createEmptyNodeForSource(): Oas20ResponseDefinition | Oas30ResponseDefinition;
    protected createReplaceNodeCommand(node: Oas20ResponseDefinition | Oas30ResponseDefinition): ICommand;
    delete(): void;
    clone(modalData?: any): void;
    rename(event?: RenameEntityEvent): void;
    enableSourceMode(): void;
    /**
     * Figures out the response name.
     * @param response
     */
    protected _responseName(response: Oas20ResponseDefinition | Oas30ResponseDefinition): string;
    isImported(): boolean;
    /**
     * When the response is an import, returns the content for the imported entity.
     */
    referenceContent(): string;
    refLink(): string;
    private getRefId;
}
