import { QueryList, EventEmitter, AfterContentInit, OnDestroy, ElementRef, OnInit } from '@angular/core';
import { EclGalleryItemComponent } from './ecl-gallery-item.component';
import { EclGalleryItem } from '../../model/ecl-gallery-item.model';
import { EclBaseEvent } from '../../model/ecl-base.event';
import { ECLBaseDirective } from '../ecl-base.directive';
import { BreakpointObserver } from '@angular/cdk/layout';
import * as i0 from "@angular/core";
export declare class EclGalleryShowEvent extends EclBaseEvent {
}
export declare class EclGalleryHideEvent extends EclBaseEvent {
}
export declare class EclGalleryDownloadEvent extends EclBaseEvent {
    galleryItem: EclGalleryItem;
    constructor(galleryItem: EclGalleryItem);
}
export declare class EclGalleryShareEvent extends EclBaseEvent {
    galleryItem: EclGalleryItem;
    constructor(galleryItem: EclGalleryItem);
}
export declare class EclGalleryItemEvent extends EclBaseEvent {
    galleryItem: EclGalleryItem;
    constructor(galleryItem: EclGalleryItem);
}
export declare class EclGalleryComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy, OnInit {
    private el;
    private cdkBreakpointObserver;
    isDownloadable: boolean | any;
    isShareable: boolean | any;
    show: EventEmitter<EclGalleryShowEvent>;
    hide: EventEmitter<EclGalleryHideEvent>;
    download: EventEmitter<EclGalleryDownloadEvent>;
    share: EventEmitter<EclGalleryShareEvent>;
    itemSwitch: EventEmitter<EclGalleryItemEvent>;
    galleryItems: QueryList<EclGalleryItemComponent>;
    videoChild: ElementRef;
    imageChild: ElementRef;
    externalVideoChild: ElementRef;
    overlayChild: ElementRef;
    headerChild: ElementRef;
    footerChild: ElementRef;
    get cssClasses(): string;
    role: string;
    private destroy$;
    isDialogVisible: boolean;
    isMobile: boolean;
    itemsCount: number;
    itemIndex: number;
    item: EclGalleryItemComponent;
    private IMAGE_HEIGHT;
    private BREAKPOINT_CHANGES_TIMEOUT;
    constructor(el: ElementRef, cdkBreakpointObserver: BreakpointObserver);
    onPrevious(evt: MouseEvent): void;
    onNext(evt: MouseEvent): void;
    onViewAll(evt: MouseEvent): void;
    onClose(evt: MouseEvent): void;
    onEscapeKeydownHandler(event: KeyboardEvent): void;
    onResize(event: any): void;
    onDownload(evt: MouseEvent): void;
    onShare(evt: MouseEvent): void;
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    canBeDownloaded(): boolean;
    canBeShared(): boolean;
    private fixOverlay;
    private setMaxMediaHeight;
    private hideItems;
    private findItemIndex;
    private findPreviousItem;
    private findFirstItem;
    private findNextItem;
    private findPreviousItemIndex;
    private findNextItemIndex;
    private observeBreakpointChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclGalleryComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EclGalleryComponent, "ecl-gallery", never, { "isDownloadable": "isDownloadable"; "isShareable": "isShareable"; }, { "show": "show"; "hide": "hide"; "download": "download"; "share": "share"; "itemSwitch": "itemSwitch"; }, ["galleryItems"], ["*", "ecl-gallery-footer"], false>;
}
//# sourceMappingURL=ecl-gallery.component.d.ts.map