/* 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/core/internal";
import { DeckDeckGoCustomLoad } from "./components/interfaces/custom-load";
export namespace Components {
    interface DeckgoLazyImg {
        /**
          * If you are using the above SVG option, provide the accessibility information using this attribute
         */
        "ariaLabel": string;
        /**
          * In case you would like to take care by yourself to apply the load of the image. If turn to true then the component will emit an event customLoad when the image intersect the viewport instead of displaying it (doesn't apply for svg but only for img-src and img-src-set)
         */
        "customLoader": boolean;
        /**
          * The image alternate text
         */
        "imgAlt": string;
        /**
          * An optional image which could be displayed in case the main image would not be resolved
         */
        "imgErrorSrc": string;
        /**
          * The image height
         */
        "imgHeight": number;
        /**
          * The set of media conditions to indicates what image size would be best to choose
         */
        "imgSizes": string;
        /**
          * The image source (= src) to lazy load
         */
        "imgSrc": string;
        /**
          * The attribute "srcset" (= multiple URI) to lazy load in case you would like to provide multiple images for responsiveness
         */
        "imgSrcSet": string;
        /**
          * The image width
         */
        "imgWidth": number;
        /**
          * An intrinsicsize for the native lazy-loading
         */
        "intrinsicsize": string;
        /**
          * This component also export an async method lazyLoad() in case you would like to trigger "manually" the loading of the image
         */
        "lazyLoad": () => Promise<void>;
        /**
          * If set to lazy, the web native lazy capability of the browser, if available, will be used to lazy load the image
         */
        "loading": 'lazy' | 'eager';
        /**
          * A string which specifies a set of offsets to add to the root's bounding_box when calculating intersections, effectively shrinking or growing the root for calculation purposes.
         */
        "observerRootMargin": string;
        /**
          * Either a single number or an array of numbers between 0.0 and 1.0, specifying a ratio of intersection area to total bounding box area for the observed target.
         */
        "observerThreshold": number | number[];
        /**
          * The SVG image source (= URI) to lazy load and to parse (no <img/> tag will be use to render the svg) aria-label	string
         */
        "svgSrc": string;
    }
}
export interface DeckgoLazyImgCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLDeckgoLazyImgElement;
}
declare global {
    interface HTMLDeckgoLazyImgElement extends Components.DeckgoLazyImg, HTMLStencilElement {
    }
    var HTMLDeckgoLazyImgElement: {
        prototype: HTMLDeckgoLazyImgElement;
        new (): HTMLDeckgoLazyImgElement;
    };
    interface HTMLElementTagNameMap {
        "deckgo-lazy-img": HTMLDeckgoLazyImgElement;
    }
}
declare namespace LocalJSX {
    interface DeckgoLazyImg {
        /**
          * If you are using the above SVG option, provide the accessibility information using this attribute
         */
        "ariaLabel"?: string;
        /**
          * In case you would like to take care by yourself to apply the load of the image. If turn to true then the component will emit an event customLoad when the image intersect the viewport instead of displaying it (doesn't apply for svg but only for img-src and img-src-set)
         */
        "customLoader"?: boolean;
        /**
          * The image alternate text
         */
        "imgAlt"?: string;
        /**
          * An optional image which could be displayed in case the main image would not be resolved
         */
        "imgErrorSrc"?: string;
        /**
          * The image height
         */
        "imgHeight"?: number;
        /**
          * The set of media conditions to indicates what image size would be best to choose
         */
        "imgSizes"?: string;
        /**
          * The image source (= src) to lazy load
         */
        "imgSrc"?: string;
        /**
          * The attribute "srcset" (= multiple URI) to lazy load in case you would like to provide multiple images for responsiveness
         */
        "imgSrcSet"?: string;
        /**
          * The image width
         */
        "imgWidth"?: number;
        /**
          * An intrinsicsize for the native lazy-loading
         */
        "intrinsicsize"?: string;
        /**
          * If set to lazy, the web native lazy capability of the browser, if available, will be used to lazy load the image
         */
        "loading"?: 'lazy' | 'eager';
        /**
          * A string which specifies a set of offsets to add to the root's bounding_box when calculating intersections, effectively shrinking or growing the root for calculation purposes.
         */
        "observerRootMargin"?: string;
        /**
          * Either a single number or an array of numbers between 0.0 and 1.0, specifying a ratio of intersection area to total bounding box area for the observed target.
         */
        "observerThreshold"?: number | number[];
        /**
          * Emitted if component property custom-loader is set to true and if an image (img-src or img-src-set) has to be loaded.
         */
        "onCustomLoad"?: (event: DeckgoLazyImgCustomEvent<DeckDeckGoCustomLoad>) => void;
        /**
          * An event emitted when the shadowed image has loaded
         */
        "onInnerImgDidLoad"?: (event: DeckgoLazyImgCustomEvent<any>) => void;
        /**
          * An event emitted after initialization when the component did load
         */
        "onLazyImgDidLoad"?: (event: DeckgoLazyImgCustomEvent<any>) => void;
        /**
          * The SVG image source (= URI) to lazy load and to parse (no <img/> tag will be use to render the svg) aria-label	string
         */
        "svgSrc"?: string;
    }
    interface IntrinsicElements {
        "deckgo-lazy-img": DeckgoLazyImg;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "deckgo-lazy-img": LocalJSX.DeckgoLazyImg & JSXBase.HTMLAttributes<HTMLDeckgoLazyImgElement>;
        }
    }
}
