/**
 * @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 } from "@angular/core";
import { ICommand, AaiMessageTraitDefinition } 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 { ApiCatalogService } from "../../_services/api-catalog.service";
export declare class MessageTraitFormComponent extends SourceFormComponent<AaiMessageTraitDefinition> {
    protected changeDetectorRef: ChangeDetectorRef;
    protected selectionService: SelectionService;
    protected commandService: CommandService;
    protected documentService: DocumentService;
    private editors;
    private catalog;
    protected _messageTrait: AaiMessageTraitDefinition;
    set messageTrait(messageTrait: AaiMessageTraitDefinition);
    get messageTrait(): AaiMessageTraitDefinition;
    /**
    * 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);
    protected createEmptyNodeForSource(): AaiMessageTraitDefinition;
    protected createReplaceNodeCommand(node: AaiMessageTraitDefinition): ICommand;
    enableSourceMode(): void;
    changeTitle(newTitle: string): void;
    changeSummary(newSummary: string): void;
    changeDescription(newDescription: string): void;
    changeTags(newTags: string[]): void;
    tagDefs(): () => string[];
}
