import { AfterViewInit, ElementRef, EventEmitter, OnInit, QueryList, ViewContainerRef } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
import { ButtonDialogButtonDetails, ButtonDialogConfig, ButtonDialogCustomButtonDetails, ButtonDialogData } from '../../../../model/button-dialog';
import { DialogState } from '../../../../services/portal-dialog.service';
import * as i0 from "@angular/core";
export declare class DialogFooterComponent implements OnInit, AfterViewInit {
    dynamicDialogConfig: DynamicDialogConfig;
    dynamicDialogRef: DynamicDialogRef;
    defaultPrimaryButtonDetails: ButtonDialogButtonDetails;
    defaultSecondaryButtonDetails: ButtonDialogButtonDetails;
    defaultDialogData: ButtonDialogData;
    config: ButtonDialogConfig;
    dialogData: ButtonDialogData;
    primaryButtonDisabled$: Observable<boolean | undefined> | undefined;
    secondaryButtonDisabled$: Observable<boolean | undefined> | undefined;
    customButtonsDisabled$: BehaviorSubject<Record<string, boolean>>;
    leftCustomButtons: ButtonDialogCustomButtonDetails[];
    rightCustomButtons: ButtonDialogCustomButtonDetails[];
    buttonClickedEmitter: EventEmitter<DialogState<unknown>>;
    primaryButton: ViewContainerRef;
    _secondaryButton: ViewContainerRef;
    set secondaryButton(content: ViewContainerRef);
    get secondaryButton(): ViewContainerRef;
    customButtons: QueryList<ElementRef>;
    constructor(dynamicDialogConfig: DynamicDialogConfig, dynamicDialogRef: DynamicDialogRef);
    ngAfterViewInit(): void;
    ngOnInit(): void;
    primaryButtonAction(): void;
    secondaryButtonAction(): void;
    customButtonAction(button: ButtonDialogCustomButtonDetails): void;
    resolveCustomButtonDisabled(customButtonsDisabled: Record<string, boolean>, buttonId: string): boolean;
    loadComponent(): void;
    setUpDialogDataForInput(): void;
    setUpDialogDataForDynamicConfig(): void;
    private buttonAction;
    private setupCustomButtons;
    static ɵfac: i0.ɵɵFactoryDeclaration<DialogFooterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DialogFooterComponent, "ocx-dialog-footer", never, { "config": { "alias": "config"; "required": false; }; }, { "buttonClickedEmitter": "buttonClickedEmitter"; }, never, never, false, never>;
}
