import { EventEmitter, OnChanges } from '@angular/core';
import { Observable } from 'rxjs';
import { TranslationService } from '../../services/translation.service';
import * as i0 from "@angular/core";
interface DeleteStatus {
    entity: any;
    status: 'pending' | 'processing' | 'success' | 'error';
    errorMessage?: string;
}
export interface EntityService {
    delete(id: any): Observable<any>;
}
export declare class BulkDeleteDialogComponent implements OnChanges {
    private translationService;
    visible: boolean;
    stages: any[];
    service: EntityService;
    entityNameField: string;
    entityCodeField: string;
    translationPrefix: string;
    visibleChange: EventEmitter<boolean>;
    onComplete: EventEmitter<void>;
    deleteStatuses: DeleteStatus[];
    isProcessing: boolean;
    isCompleted: boolean;
    currentIndex: number;
    successCount: number;
    errorCount: number;
    private completedEmitted;
    constructor(translationService: TranslationService);
    ngOnChanges(): void;
    initializeStatuses(): void;
    get progress(): number;
    get canClose(): boolean;
    startDeletion(): void;
    onHide(): void;
    onClose(): void;
    getStatusSeverity(status: string): 'secondary' | 'info' | 'success' | 'danger';
    getStatusLabel(status: string): string;
    getStatusIcon(status: string): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<BulkDeleteDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BulkDeleteDialogComponent, "sia-bulk-delete-dialog", never, { "visible": { "alias": "visible"; "required": false; }; "stages": { "alias": "stages"; "required": false; }; "service": { "alias": "service"; "required": false; }; "entityNameField": { "alias": "entityNameField"; "required": false; }; "entityCodeField": { "alias": "entityCodeField"; "required": false; }; "translationPrefix": { "alias": "translationPrefix"; "required": false; }; }, { "visibleChange": "visibleChange"; "onComplete": "onComplete"; }, never, never, true, never>;
}
export {};
