import { EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
/** Visual variant of the confirm modal — drives the header icon-tile color. */
export type PSConfirmVariant = 'info' | 'warn' | 'danger';
/**
 * Small, reusable confirmation modal for Predictive Studio's real mutations (model promote/archive,
 * experiment pause/cancel). Renders a token-styled backdrop + card with a title, a rich message
 * (projected via `<ng-content>`), an optional reason textarea, and a left-aligned primary confirm
 * button followed by Cancel (MJ button-placement convention). The host owns visibility and the
 * confirm/cancel handlers; this component is purely presentational + emits the captured reason.
 *
 * While `busy` is true the confirm button shows a spinner and both buttons disable, giving the
 * in-flight Remote Op a clear, non-dismissable feel.
 */
export declare class PSConfirmModalComponent {
    /** Modal heading. */
    title: string;
    /** Header icon-tile Font Awesome class. */
    icon: string;
    /** Confirm-button Font Awesome class (shown when not busy). */
    confirmIcon: string;
    /** Confirm-button label. */
    confirmLabel: string;
    /** Visual variant (info / warn / danger). */
    variant: PSConfirmVariant;
    /** When true, render the reason textarea. */
    showReason: boolean;
    /** When true, the confirm button stays disabled until a non-empty reason is entered. */
    reasonRequired: boolean;
    /** Reason field label. */
    reasonLabel: string;
    /** Reason field placeholder. */
    reasonPlaceholder: string;
    /** In-flight flag — disables the buttons + shows the confirm spinner. */
    busy: boolean;
    /** The captured reason (two-way via the textarea). */
    reason: string;
    /** Emitted with the trimmed reason when the user confirms. */
    confirmed: EventEmitter<string>;
    /** Emitted when the user cancels (button or backdrop). */
    cancelled: EventEmitter<void>;
    /** Backdrop click cancels — unless an operation is in flight. */
    onBackdrop(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PSConfirmModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PSConfirmModalComponent, "ps-confirm-modal", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "confirmIcon": { "alias": "confirmIcon"; "required": false; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "showReason": { "alias": "showReason"; "required": false; }; "reasonRequired": { "alias": "reasonRequired"; "required": false; }; "reasonLabel": { "alias": "reasonLabel"; "required": false; }; "reasonPlaceholder": { "alias": "reasonPlaceholder"; "required": false; }; "busy": { "alias": "busy"; "required": false; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, ["*"], true, never>;
}
//# sourceMappingURL=ps-confirm-modal.component.d.ts.map