import { AfterViewInit, ComponentRef, 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 * as i0 from "@angular/core";
export declare class ButtonDialogComponent implements OnInit, AfterViewInit {
    dynamicDialogConfig: DynamicDialogConfig;
    dynamicDialogRef: DynamicDialogRef;
    defaultPrimaryButtonDetails: ButtonDialogButtonDetails;
    defaultSecondaryButtonDetails: ButtonDialogButtonDetails;
    defaultDialogData: ButtonDialogData;
    config: ButtonDialogConfig;
    resultEmitter: EventEmitter<any>;
    dialogHost: ViewContainerRef;
    primaryButton: ViewContainerRef;
    _secondaryButton: ViewContainerRef;
    set secondaryButton(content: ViewContainerRef);
    get secondaryButton(): ViewContainerRef;
    customButtons: QueryList<ElementRef>;
    dialogData: ButtonDialogData;
    componentRef: ComponentRef<any>;
    primaryButtonDisabled$: Observable<boolean | undefined> | undefined;
    secondaryButtonDisabled$: Observable<boolean | undefined> | undefined;
    customButtonsDisabled$: BehaviorSubject<Record<string, boolean>>;
    leftCustomButtons: ButtonDialogCustomButtonDetails[];
    rightCustomButtons: ButtonDialogCustomButtonDetails[];
    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;
    setUpDialogDataForDynamicConfig(): void;
    setUpDialogDataForInput(): void;
    private buttonAction;
    private setupCustomButtons;
    private resolveButtonClick;
    private toObservable;
    private isDialogResultImplemented;
    private isDialogButtonClickedImplemented;
    private isDialogPrimaryButtonDisabledImplemented;
    private isDialogSecondaryButtonDisabledImplemented;
    private isDialogCustomButtonDisabledImplemented;
    static ɵfac: i0.ɵɵFactoryDeclaration<ButtonDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ButtonDialogComponent, "ocx-button-dialog", never, { "config": { "alias": "config"; "required": false; }; }, { "resultEmitter": "resultEmitter"; }, never, ["*"], false, never>;
}
