import { EventEmitter } from "../../stencil-public-runtime";
export interface SelectedMedia {
    index: number;
    el: HTMLXShowcaseItemElement;
    target: HTMLImageElement | HTMLIFrameElement;
}
export declare class XShowcase {
    /**
     * Element is upload media
     */
    upload: boolean;
    /**
     * Element is active left arrow
     */
    isLeftArrowActive: boolean;
    /**
     * Element is active right arrow
     */
    isRightArrowActive: boolean;
    /**
     * Element active scroll timeout
     */
    activeScroll: any;
    /**
     * Element active media index
     */
    activeMediaIndex: number;
    /**
     * Element is busy scroll
     */
    busyScroll: boolean;
    /**
     * Element media elements list
     */
    mediaElements: Array<HTMLXShowcaseItemElement>;
    /**
     * Element upload media event
     */
    uploadMedia: EventEmitter;
    /**
     * Element select media event
     */
    selectMedia: EventEmitter<SelectedMedia>;
    /**
     * Element reference
     */
    el: HTMLElement;
    /**
     * Element event on slot make changes
     *
     * @param evt
     */
    handleSlotChange(): void;
    componentDidLoad(): void;
    searchMediaElements(): void;
    onContainerScroll(): void;
    onScrollLeft(): void;
    onScrollRight(): void;
    onSelectMedia(event: MouseEvent, index: number): void;
    scrollItemTo(positionFactor: any): void;
    selectMediaElement(index: number): void;
    getMediaThumb(media: HTMLXShowcaseItemElement): string;
    getYoutubeId(url: string): string | false;
    getMainElementRender(): any;
    /**
     * Render component
     */
    render(): any;
}
