import { EventEmitter } from '../../stencil-public-runtime';
export interface LightboxItem {
    src: string;
    alt?: string;
    captionTitle?: string;
    captionText?: string;
    copyrightText?: string;
    copyrightIcon?: string;
    copyrightIconVariant?: string;
    copyrightHref?: string;
    copyrightTarget?: string;
}
export declare class SpwLightbox {
    hostElement: HTMLSpwLightboxElement;
    /** Identifiant de la galerie (partagé avec spw-lightbox-item pour grouper les items) */
    gallery: string;
    /** Texte du bouton de fermeture */
    closeButtonText: string;
    /** Indique si la fermeture est possible en cliquant sur le backdrop */
    closeOnBackdropClick: boolean;
    /** Affiche ou masque la galerie de miniatures sous l'image principale */
    showThumbnails: boolean;
    /** Label aria de la dialog */
    textDialogLabel: string;
    /** Label aria du bouton image précédente */
    textPrevious: string;
    /** Label aria du bouton image suivante */
    textNext: string;
    /** Label aria de la liste de miniatures */
    textThumbnailsLabel: string;
    /** Label aria d'une miniature (utiliser {index} comme placeholder) */
    textThumbnailItem: string;
    opened: boolean;
    activeIndex: number;
    items: LightboxItem[];
    spwLightboxOpen: EventEmitter<{
        index: number;
    }>;
    spwLightboxClose: EventEmitter<void>;
    private lightboxContainer;
    private imageWrapperEl;
    private closeButtonEl;
    private thumbnailsEl;
    private previouslyFocusedElement;
    private currentAnimation;
    private swipeStartX;
    private swipeStartY;
    private isSwiping;
    private readonly SWIPE_THRESHOLD;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    open(index?: number): Promise<void>;
    close(): Promise<void>;
    onOpenedChange(newValue: boolean): void;
    private collectItems;
    private handleItemClick;
    private cancelCurrentAnimation;
    private scrollToActiveThumbnail;
    private onOpen;
    private onClose;
    private doClose;
    private handleKeydown;
    handleFocusTrap(event: KeyboardEvent): void;
    private navigate;
    onActiveIndexChange(): void;
    private handleTouchStart;
    private handleTouchMove;
    private handleTouchEnd;
    private handleBackdropClick;
    private get activeItem();
    render(): any;
}
