/**
 * @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 { EventEmitter, QueryList } from "@angular/core";
import { ModalDirective } from "ngx-bootstrap/modal";
import { Node } from "apicurio-data-models";
export interface RenameEntityEvent {
    entity: Node;
    newName: string;
}
export declare class RenameEntityDialogComponent {
    type: string;
    title: string;
    message: string;
    warning: string;
    validationPattern: string;
    validationError: string;
    onRename: EventEmitter<RenameEntityEvent>;
    renameEntityModal: QueryList<ModalDirective>;
    private _isOpen;
    private entity;
    originalName: string;
    newName: string;
    private checkExistence;
    _alreadyExists: boolean;
    /**
     * Called to open the dialog.
     * @param entity
     * @param name
     * @param checkExistence
     */
    open(entity: Node, name: string, checkExistence: (name: string) => boolean): void;
    /**
     * Called to close the dialog.
     */
    close(): void;
    /**
     * Called when the user clicks "rename".
     */
    rename(): void;
    /**
     * Called when the user clicks "cancel".
     */
    cancel(): void;
    /**
     * Returns true if the dialog is open.
     * @return
     */
    isOpen(): boolean;
    /**
     * Called to validate the new (potential) name.
     * @param name
     */
    validateName(name: string): void;
    /**
     * Returns true if the warning message should be displayed.
     */
    shouldShowWarning(): boolean;
    /**
     * Returns true if the message should be displayed.
     */
    shouldShowMessage(): boolean;
}
