/* eslint-disable */
/* tslint:disable */
/**
 * This is an autogenerated file created by the Stencil compiler.
 * It contains typing information for all components that exist in this project.
 */
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
export namespace Components {
    interface AkordAssetsGallery {
        "assetsLocation": string;
        "closeUrl": string;
        "darkMode": boolean;
        "darkModeSwitchEnabled": boolean;
        "downloadEnabled": boolean;
        "files": Array<{
        src: string
        type: 'jpg' | 'jpeg' | 'gif' | 'bmp' | 'png' | 'mp4' | 'pdf' | 'doc' | 'mp3'
        name: string
        hash: string
    }>;
        "height": number | 'auto';
        "mode": 'single' | 'group';
        "modeSwitchEnabled": boolean;
        "printEnabled": boolean;
        "versionsEnabled": boolean;
        "width": number;
    }
    interface AkordAudioViewer {
        "height": string;
        "src": string;
        "type": string;
        "width": string;
    }
    interface AkordDocsViewer {
        "src": string;
    }
    interface AkordFileViewer {
        /**
          * Container class name {string}
         */
        "containerClass": string;
        "darkMode": boolean;
        "download": () => Promise<void>;
        "errorRef"?: HTMLElement;
        "height": number;
        "name": string;
        "print": () => Promise<void>;
        "src": string;
        "type": 'jpg' | 'jpeg' | 'gif' | 'bmp' | 'png' | 'pdf' | 'mp4' | 'video/mp4' | 'video/webm' | 'video/ogg' | 'video-stream' | 'mp3' | 'doc';
        "width": number;
        "zoomControlEnabled": boolean;
    }
    interface AkordImageViewer {
        /**
          * Container class name {string}
         */
        "containerClass": string;
        "darkMode": boolean;
        "height": number;
        "src": string;
        "width": number;
    }
    interface AkordPdfViewer {
        "height": string;
        /**
          * PDF document source
         */
        "src": string;
    }
    interface AkordPdfViewerSpa {
        /**
          * Container class name {string}
         */
        "containerClass": string;
        "darkMode": boolean;
        "height": number;
        /**
          * Page forward {MouseEvent} e
         */
        "pageNext": (e?: MouseEvent) => Promise<void>;
        /**
          * Page backward e
         */
        "pagePrev": (e?: MouseEvent) => Promise<void>;
        /**
          * Rotate the PDF in degrees {number}
         */
        "rotation": 0 | 90 | 180 | 270 | 360;
        /**
          * Src of the PDF to load and render {number}
         */
        "src": string;
        "width": number;
    }
    interface AkordSwiper {
        /**
          * JSON string which will be parsed as breakpoint option
         */
        "breakpoints": string;
        /**
          * If true, then active slide will be centered, not always on the left side.
         */
        "centeredSlides": boolean;
        "destroy": () => Promise<void>;
        "getCurrentSlide": () => Promise<number>;
        /**
          * Boolean to determine if slides should be displayed in a loop
         */
        "loop": boolean;
        /**
          * Boolean to determine if navigation arrows should be shown next to pagination fraction
         */
        "navigationPosition": 'center' | 'bottom';
        /**
          * Boolean to determine if pagination should be shown
         */
        "showPagination": boolean;
        /**
          * Slides per view
         */
        "size": number | 'auto';
        /**
          * Add (in px) additional slide offset in the end of the container (after all slides)
         */
        "slidesOffsetAfter": number;
        /**
          * Add (in px) additional slide offset in the beginning of the container (before all slides)
         */
        "slidesOffsetBefore": number;
        /**
          * Slides per group
         */
        "slidesPerGroup": number;
        /**
          * Space between each slide
         */
        "spaceBetween": number;
    }
    interface AkordVideoStreamViewer {
        "src": string;
    }
    interface AkordVideoViewer {
        "height": number;
        "src": string;
        "type": string;
        "width": string;
    }
}
declare global {
    interface HTMLAkordAssetsGalleryElement extends Components.AkordAssetsGallery, HTMLStencilElement {
    }
    var HTMLAkordAssetsGalleryElement: {
        prototype: HTMLAkordAssetsGalleryElement;
        new (): HTMLAkordAssetsGalleryElement;
    };
    interface HTMLAkordAudioViewerElement extends Components.AkordAudioViewer, HTMLStencilElement {
    }
    var HTMLAkordAudioViewerElement: {
        prototype: HTMLAkordAudioViewerElement;
        new (): HTMLAkordAudioViewerElement;
    };
    interface HTMLAkordDocsViewerElement extends Components.AkordDocsViewer, HTMLStencilElement {
    }
    var HTMLAkordDocsViewerElement: {
        prototype: HTMLAkordDocsViewerElement;
        new (): HTMLAkordDocsViewerElement;
    };
    interface HTMLAkordFileViewerElement extends Components.AkordFileViewer, HTMLStencilElement {
    }
    var HTMLAkordFileViewerElement: {
        prototype: HTMLAkordFileViewerElement;
        new (): HTMLAkordFileViewerElement;
    };
    interface HTMLAkordImageViewerElement extends Components.AkordImageViewer, HTMLStencilElement {
    }
    var HTMLAkordImageViewerElement: {
        prototype: HTMLAkordImageViewerElement;
        new (): HTMLAkordImageViewerElement;
    };
    interface HTMLAkordPdfViewerElement extends Components.AkordPdfViewer, HTMLStencilElement {
    }
    var HTMLAkordPdfViewerElement: {
        prototype: HTMLAkordPdfViewerElement;
        new (): HTMLAkordPdfViewerElement;
    };
    interface HTMLAkordPdfViewerSpaElement extends Components.AkordPdfViewerSpa, HTMLStencilElement {
    }
    var HTMLAkordPdfViewerSpaElement: {
        prototype: HTMLAkordPdfViewerSpaElement;
        new (): HTMLAkordPdfViewerSpaElement;
    };
    interface HTMLAkordSwiperElement extends Components.AkordSwiper, HTMLStencilElement {
    }
    var HTMLAkordSwiperElement: {
        prototype: HTMLAkordSwiperElement;
        new (): HTMLAkordSwiperElement;
    };
    interface HTMLAkordVideoStreamViewerElement extends Components.AkordVideoStreamViewer, HTMLStencilElement {
    }
    var HTMLAkordVideoStreamViewerElement: {
        prototype: HTMLAkordVideoStreamViewerElement;
        new (): HTMLAkordVideoStreamViewerElement;
    };
    interface HTMLAkordVideoViewerElement extends Components.AkordVideoViewer, HTMLStencilElement {
    }
    var HTMLAkordVideoViewerElement: {
        prototype: HTMLAkordVideoViewerElement;
        new (): HTMLAkordVideoViewerElement;
    };
    interface HTMLElementTagNameMap {
        "akord-assets-gallery": HTMLAkordAssetsGalleryElement;
        "akord-audio-viewer": HTMLAkordAudioViewerElement;
        "akord-docs-viewer": HTMLAkordDocsViewerElement;
        "akord-file-viewer": HTMLAkordFileViewerElement;
        "akord-image-viewer": HTMLAkordImageViewerElement;
        "akord-pdf-viewer": HTMLAkordPdfViewerElement;
        "akord-pdf-viewer-spa": HTMLAkordPdfViewerSpaElement;
        "akord-swiper": HTMLAkordSwiperElement;
        "akord-video-stream-viewer": HTMLAkordVideoStreamViewerElement;
        "akord-video-viewer": HTMLAkordVideoViewerElement;
    }
}
declare namespace LocalJSX {
    interface AkordAssetsGallery {
        "assetsLocation"?: string;
        "closeUrl"?: string;
        "darkMode"?: boolean;
        "darkModeSwitchEnabled"?: boolean;
        "downloadEnabled"?: boolean;
        "files"?: Array<{
        src: string
        type: 'jpg' | 'jpeg' | 'gif' | 'bmp' | 'png' | 'mp4' | 'pdf' | 'doc' | 'mp3'
        name: string
        hash: string
    }>;
        "height"?: number | 'auto';
        "mode"?: 'single' | 'group';
        "modeSwitchEnabled"?: boolean;
        "printEnabled"?: boolean;
        "versionsEnabled"?: boolean;
        "width"?: number;
    }
    interface AkordAudioViewer {
        "height"?: string;
        "src"?: string;
        "type"?: string;
        "width"?: string;
    }
    interface AkordDocsViewer {
        "src"?: string;
    }
    interface AkordFileViewer {
        /**
          * Container class name {string}
         */
        "containerClass"?: string;
        "darkMode"?: boolean;
        "errorRef"?: HTMLElement;
        "height"?: number;
        "name"?: string;
        "src"?: string;
        "type"?: 'jpg' | 'jpeg' | 'gif' | 'bmp' | 'png' | 'pdf' | 'mp4' | 'video/mp4' | 'video/webm' | 'video/ogg' | 'video-stream' | 'mp3' | 'doc';
        "width"?: number;
        "zoomControlEnabled"?: boolean;
    }
    interface AkordImageViewer {
        /**
          * Container class name {string}
         */
        "containerClass"?: string;
        "darkMode"?: boolean;
        "height"?: number;
        "src"?: string;
        "width"?: number;
    }
    interface AkordPdfViewer {
        "height"?: string;
        /**
          * Emitted when a page has been rendered
         */
        "onPageRendered"?: (event: CustomEvent<number>) => void;
        /**
          * PDF document source
         */
        "src"?: string;
    }
    interface AkordPdfViewerSpa {
        /**
          * Container class name {string}
         */
        "containerClass"?: string;
        "darkMode"?: boolean;
        "height"?: number;
        "onPageChange"?: (event: CustomEvent<number>) => void;
        "onPageRendered"?: (event: CustomEvent<number>) => void;
        /**
          * Rotate the PDF in degrees {number}
         */
        "rotation"?: 0 | 90 | 180 | 270 | 360;
        /**
          * Src of the PDF to load and render {number}
         */
        "src"?: string;
        "width"?: number;
    }
    interface AkordSwiper {
        /**
          * JSON string which will be parsed as breakpoint option
         */
        "breakpoints"?: string;
        /**
          * If true, then active slide will be centered, not always on the left side.
         */
        "centeredSlides"?: boolean;
        /**
          * Boolean to determine if slides should be displayed in a loop
         */
        "loop"?: boolean;
        /**
          * Boolean to determine if navigation arrows should be shown next to pagination fraction
         */
        "navigationPosition"?: 'center' | 'bottom';
        "onActiveSlideChanged"?: (event: CustomEvent<number>) => void;
        /**
          * Boolean to determine if pagination should be shown
         */
        "showPagination"?: boolean;
        /**
          * Slides per view
         */
        "size"?: number | 'auto';
        /**
          * Add (in px) additional slide offset in the end of the container (after all slides)
         */
        "slidesOffsetAfter"?: number;
        /**
          * Add (in px) additional slide offset in the beginning of the container (before all slides)
         */
        "slidesOffsetBefore"?: number;
        /**
          * Slides per group
         */
        "slidesPerGroup"?: number;
        /**
          * Space between each slide
         */
        "spaceBetween"?: number;
    }
    interface AkordVideoStreamViewer {
        "src"?: string;
    }
    interface AkordVideoViewer {
        "height"?: number;
        "src"?: string;
        "type"?: string;
        "width"?: string;
    }
    interface IntrinsicElements {
        "akord-assets-gallery": AkordAssetsGallery;
        "akord-audio-viewer": AkordAudioViewer;
        "akord-docs-viewer": AkordDocsViewer;
        "akord-file-viewer": AkordFileViewer;
        "akord-image-viewer": AkordImageViewer;
        "akord-pdf-viewer": AkordPdfViewer;
        "akord-pdf-viewer-spa": AkordPdfViewerSpa;
        "akord-swiper": AkordSwiper;
        "akord-video-stream-viewer": AkordVideoStreamViewer;
        "akord-video-viewer": AkordVideoViewer;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "akord-assets-gallery": LocalJSX.AkordAssetsGallery & JSXBase.HTMLAttributes<HTMLAkordAssetsGalleryElement>;
            "akord-audio-viewer": LocalJSX.AkordAudioViewer & JSXBase.HTMLAttributes<HTMLAkordAudioViewerElement>;
            "akord-docs-viewer": LocalJSX.AkordDocsViewer & JSXBase.HTMLAttributes<HTMLAkordDocsViewerElement>;
            "akord-file-viewer": LocalJSX.AkordFileViewer & JSXBase.HTMLAttributes<HTMLAkordFileViewerElement>;
            "akord-image-viewer": LocalJSX.AkordImageViewer & JSXBase.HTMLAttributes<HTMLAkordImageViewerElement>;
            "akord-pdf-viewer": LocalJSX.AkordPdfViewer & JSXBase.HTMLAttributes<HTMLAkordPdfViewerElement>;
            "akord-pdf-viewer-spa": LocalJSX.AkordPdfViewerSpa & JSXBase.HTMLAttributes<HTMLAkordPdfViewerSpaElement>;
            "akord-swiper": LocalJSX.AkordSwiper & JSXBase.HTMLAttributes<HTMLAkordSwiperElement>;
            "akord-video-stream-viewer": LocalJSX.AkordVideoStreamViewer & JSXBase.HTMLAttributes<HTMLAkordVideoStreamViewerElement>;
            "akord-video-viewer": LocalJSX.AkordVideoViewer & JSXBase.HTMLAttributes<HTMLAkordVideoViewerElement>;
        }
    }
}
