/**
 * @license
 * Copyright 2017 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, SimpleChanges } from "@angular/core";
import { Oas20Operation, Oas20Response, Oas30Operation, Oas30Response } from "apicurio-data-models";
import { CommandService } from "../../../../_services/command.service";
import { EditorsService } from "../../../../_services/editors.service";
import { AddResponseDialogComponent, AddResponseDialogData } from "../../../dialogs/add-response.component";
import { CloneResponseDialogComponent } from "../../../dialogs/clone-response.component";
import { AbstractBaseComponent } from "../../../common/base-component";
import { DocumentService } from "../../../../_services/document.service";
import { SelectionService } from "../../../../_services/selection.service";
export declare class ResponsesSectionComponent extends AbstractBaseComponent {
    private changeDetectorRef;
    private documentService;
    private commandService;
    private editors;
    private selectionService;
    operation: Oas20Operation | Oas30Operation;
    addResponseDialog: AddResponseDialogComponent;
    cloneResponseDialog: CloneResponseDialogComponent;
    private _responseTab;
    /**
     * Constructor.
     * @param changeDetectorRef
     * @param documentService
     * @param commandService
     * @param editors
     * @param selectionService
     */
    constructor(changeDetectorRef: ChangeDetectorRef, documentService: DocumentService, commandService: CommandService, editors: EditorsService, selectionService: SelectionService);
    ngOnChanges(changes: SimpleChanges): void;
    responsesPath(): string;
    selectDefaultTab(): void;
    is20Document(): boolean;
    is30Document(): boolean;
    openAddResponseModal(): void;
    openCloneResponseModal(currentResponse: (Oas20Response | Oas30Response)): void;
    addResponse(data: AddResponseDialogData): void;
    cloneResponse(statusCode: string): void;
    deleteAllResponses(): void;
    responses(): (Oas20Response | Oas30Response)[];
    hasResponses(): boolean;
    deleteResponse(response: Oas20Response | Oas30Response): void;
    statusCodeLine(code: string): string;
    statusCodeType(code: string): string;
    isTabActive(response: Oas20Response | Oas30Response): boolean;
    setTab(response: Oas20Response | Oas30Response): void;
    currentResponse(): Oas20Response | Oas30Response;
    nextAvailableResponseCode(): string;
}
