/* 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";
import { DrawerResponse, PaintingType } from "./components/zan-poster/zan-poster.type";
export { DrawerResponse, PaintingType } from "./components/zan-poster/zan-poster.type";
export namespace Components {
    interface ZanPoster {
        /**
          * 是否为base64格式
         */
        "base64"?: boolean;
        /**
          * 外部画图方法 支持回调、promise形式
         */
        "draw": (params: { painting: PaintingType | PaintingType[]; sync?: boolean; success?: (args: DrawerResponse[]) => void; fail?: (args: DrawerResponse[]) => void; }) => Promise<DrawerResponse | DrawerResponse[]>;
        /**
          * 是否保存图片
         */
        "isSave"?: boolean;
        /**
          * 画图数据
         */
        "painting"?: PaintingType | PaintingType[];
        /**
          * 预加载
         */
        "preload"?: boolean;
        /**
          * 是否显示画板
         */
        "showCanvas"?: boolean;
        /**
          * 是否显示Loading进度状态
         */
        "showLoading"?: boolean;
        /**
          * 是否同步画图
         */
        "sync"?: boolean;
    }
}
export interface ZanPosterCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLZanPosterElement;
}
declare global {
    interface HTMLZanPosterElementEventMap {
        "change": DrawerResponse | DrawerResponse[];
        "ready": void;
    }
    interface HTMLZanPosterElement extends Components.ZanPoster, HTMLStencilElement {
        addEventListener<K extends keyof HTMLZanPosterElementEventMap>(type: K, listener: (this: HTMLZanPosterElement, ev: ZanPosterCustomEvent<HTMLZanPosterElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
        removeEventListener<K extends keyof HTMLZanPosterElementEventMap>(type: K, listener: (this: HTMLZanPosterElement, ev: ZanPosterCustomEvent<HTMLZanPosterElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
    }
    var HTMLZanPosterElement: {
        prototype: HTMLZanPosterElement;
        new (): HTMLZanPosterElement;
    };
    interface HTMLElementTagNameMap {
        "zan-poster": HTMLZanPosterElement;
    }
}
declare namespace LocalJSX {
    interface ZanPoster {
        /**
          * 是否为base64格式
         */
        "base64"?: boolean;
        /**
          * 是否保存图片
         */
        "isSave"?: boolean;
        "onChange"?: (event: ZanPosterCustomEvent<DrawerResponse | DrawerResponse[]>) => void;
        "onReady"?: (event: ZanPosterCustomEvent<void>) => void;
        /**
          * 画图数据
         */
        "painting"?: PaintingType | PaintingType[];
        /**
          * 预加载
         */
        "preload"?: boolean;
        /**
          * 是否显示画板
         */
        "showCanvas"?: boolean;
        /**
          * 是否显示Loading进度状态
         */
        "showLoading"?: boolean;
        /**
          * 是否同步画图
         */
        "sync"?: boolean;
    }
    interface IntrinsicElements {
        "zan-poster": ZanPoster;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "zan-poster": LocalJSX.ZanPoster & JSXBase.HTMLAttributes<HTMLZanPosterElement>;
        }
    }
}
