import { Type } from '@angular/core';
import { ModalButton, ModalConfig } from './modal.interfaces';
import * as i0 from "@angular/core";
export interface ModalRef<T> {
    close(result?: T): void;
    afterClosed(): Promise<T | undefined>;
    getContentComponent(): any;
    updatePrimaryButton(button: Partial<ModalButton>): void;
    updateSecondaryButton(button: Partial<ModalButton>): void;
    updateTitle(title: string): void;
    updateShowCloseButton(showCloseButton: boolean): void;
    updateSafeAreaInsetBottom(safeAreaInsetBottom: boolean): void;
}
export declare class ModalService {
    private appRef;
    private injector;
    private router;
    private destroyRef;
    private platformId;
    private openModals;
    constructor();
    private subscribeToNavigationEvents;
    closeAll({ force }?: {
        force?: boolean;
    }): void;
    open<T>(component: Type<any>, config?: ModalConfig<T>): ModalRef<T>;
    private closeModal;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
}
