import * as i0 from '@angular/core';
import { Confirmation } from 'primeng/api';

interface ButtonConfig {
    severity?: string | undefined;
    variant?: string | undefined;
}
interface BaseConfirmationConfig extends Confirmation {
    draggable?: boolean;
    acceptButton?: ButtonConfig;
    rejectButton?: ButtonConfig;
    confirmationType?: string;
}
interface DialogConfirmationConfig extends BaseConfirmationConfig {
    type?: 'dialog' | undefined;
    event?: Event;
}
interface PopupConfirmationConfig extends BaseConfirmationConfig {
    type: 'popup';
    event: Event;
}
type ConfirmationConfig = DialogConfirmationConfig | PopupConfirmationConfig;
declare class ConfirmationService {
    private confirmationService;
    private transloco;
    private defaultConfig;
    popupKey: i0.WritableSignal<string | undefined>;
    private lastTarget;
    confirm(config: ConfirmationConfig): void;
    confirmDelete(config: ConfirmationConfig): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationService>;
}

declare class ConfirmationDialog {
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationDialog, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationDialog, "mt-confirmation-dialog", never, {}, {}, never, never, true, never>;
}

export { ConfirmationDialog, ConfirmationService };
export type { ConfirmationConfig };
