/**
 * @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 { AaiMessageTraitDefinition } from "apicurio-data-models";
import { EntityEditor, EntityEditorEvent, IEntityEditorHandler } from "./entity-editor.component";
export interface MessageTraitData {
    name: string;
    description: string;
}
export interface MessageTraitEditorEvent extends EntityEditorEvent<AaiMessageTraitDefinition> {
    data: MessageTraitData;
}
export interface IMessageTraitEditorHandler extends IEntityEditorHandler<AaiMessageTraitDefinition, MessageTraitEditorEvent> {
    onSave(event: MessageTraitEditorEvent): void;
    onCancel(event: MessageTraitEditorEvent): void;
}
export declare class MessageTraitEditorComponent extends EntityEditor<AaiMessageTraitDefinition, MessageTraitEditorEvent> {
    messageTraits: string[];
    traitExists: boolean;
    model: MessageTraitData;
    doAfterOpen(): void;
    /**
     * Initializes the editor's data model from a provided entity (initialize the editor data model from an entity).
     * @param entity
     */
    initializeModelFromEntity(entity: AaiMessageTraitDefinition): void;
    /**
     * Initializes the editor's data model to an empty state.
     */
    initializeModel(): void;
    /**
     * Returns true if the data model is valid.
     */
    isValid(): boolean;
    /**
     * Creates an entity event specific to this entity editor.
     */
    entityEvent(): MessageTraitEditorEvent;
    private getMessageTraits;
}
