import { TemplateResult } from 'lit';
import UiDialog from '../../../md/dialog/internals/Dialog.js';
import '../../md/button/ui-button.js';
import '../../md/icons/ui-icon.js';
export type IDialogType = 'files' | 'project';
/**
 * A dialog that requests the user to confirm a delete action.
 *
 * Listen to the `closed` on the dialog. The CustomEvent has the `detail`
 * object with the `closingReason` retails:
 * - canceled: whether the dialog was cancelled (ESC, outside click, dismiss button)
 * - confirmed: whether the dialog was confirmed by the user
 *
 * The application should handle the event and trigger delete flow.
 *
 * ```javascript
 * const dialog = document.createElement('confirm-delete-dialog');
 * dialog.opened = true;
 * document.body.appendChild(dialog);
 * dialog.addEventListener('closed', (ev: Event) => {
 *   document.body.removeChild(dialog);
 *   const event = ev as CustomEvent;
 *   const { canceled, confirmed } = event.detail;
 *   if (!canceled && confirmed) {
 *     // trigger the flow
 *   }
 * });
 * ```
 */
export default class ConfirmDelete extends UiDialog {
    /**
     * The type of the delete dialog. Renders a specialized view for the deleting type.
     */
    accessor type: IDialogType | undefined;
    /**
     * General purpose name of the objects to list as to delete.
     */
    accessor names: string[] | undefined;
    /**
     * General purpose name of the object to delete.
     */
    accessor name: string | undefined;
    renderIcon(): TemplateResult;
    renderTitle(): TemplateResult;
    renderBody(): TemplateResult;
    renderButtons(): TemplateResult;
    protected renderContent(): TemplateResult;
    protected renderFiles(): TemplateResult;
    protected renderProject(): TemplateResult;
    protected _fallbackTemplate(): TemplateResult;
}
//# sourceMappingURL=ConfirmDelete.d.ts.map