import { OverlayRef } from '@angular/cdk/overlay';
import { ImageModalEvent } from '../../model/image.class';
import { ButtonEvent } from '../../model/buttons-config.interface';
/**
 * Class that represents the modal dialog instance.
 * It is returned by the open method.
 */
export declare class ModalGalleryRef {
    private overlayRef;
    private close;
    close$: import("rxjs").Observable<ImageModalEvent>;
    private show;
    show$: import("rxjs").Observable<ImageModalEvent>;
    private firstImage;
    firstImage$: import("rxjs").Observable<ImageModalEvent>;
    private lastImage;
    lastImage$: import("rxjs").Observable<ImageModalEvent>;
    private hasData;
    hasData$: import("rxjs").Observable<ImageModalEvent>;
    private buttonBeforeHook;
    buttonBeforeHook$: import("rxjs").Observable<ButtonEvent>;
    private buttonAfterHook;
    buttonAfterHook$: import("rxjs").Observable<ButtonEvent>;
    constructor(overlayRef: OverlayRef);
    /**
     * Close modal dialog, disposing the Overlay.
     */
    closeModal(): void;
    /**
     * Method to emit close event.
     * @param event ImageModalEvent event payload
     */
    emitClose(event: ImageModalEvent): void;
    /**
     * Method to emit show event.
     * @param event ImageModalEvent event payload
     */
    emitShow(event: ImageModalEvent): void;
    /**
     * Method to emit firstImage event.
     * @param event ImageModalEvent event payload
     */
    emitFirstImage(event: ImageModalEvent): void;
    /**
     * Method to emit lastImage event.
     * @param event ImageModalEvent event payload
     */
    emitLastImage(event: ImageModalEvent): void;
    /**
     * Method to emit hasData event.
     * @param event ImageModalEvent event payload
     */
    emitHasData(event: ImageModalEvent): void;
    /**
     * Method to emit buttonBeforeHook event.
     * @param event ImageModalEvent event payload
     */
    emitButtonBeforeHook(event: ButtonEvent): void;
    /**
     * Method to emit buttonAfterHook event.
     * @param event ImageModalEvent event payload
     */
    emitButtonAfterHook(event: ButtonEvent): void;
}
