/**
 * @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 { AaiOperationTraitDefinition } from "apicurio-data-models";
import { EntityEditor, EntityEditorEvent, IEntityEditorHandler } from "./entity-editor.component";
export interface OperationTraitData {
    name: string;
    description: string;
}
export interface OperationTraitEditorEvent extends EntityEditorEvent<AaiOperationTraitDefinition> {
    data: OperationTraitData;
}
export interface IOperationTraitEditorHandler extends IEntityEditorHandler<AaiOperationTraitDefinition, OperationTraitEditorEvent> {
    onSave(event: OperationTraitEditorEvent): void;
    onCancel(event: OperationTraitEditorEvent): void;
}
export declare class OperationTraitEditorComponent extends EntityEditor<AaiOperationTraitDefinition, OperationTraitEditorEvent> {
    operationTraits: string[];
    traitExists: boolean;
    model: OperationTraitData;
    doAfterOpen(): void;
    /**
     * Initializes the editor's data model from a provided entity (initialize the editor data model from an entity).
     * @param entity
     */
    initializeModelFromEntity(entity: AaiOperationTraitDefinition): 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(): OperationTraitEditorEvent;
    private getOperationTraits;
}
