/* 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 { ZTHTMLElementsDrawer, ZTPositionDrawer } from "./components/zt-bottom-drawer/zt-bottom-drawer";
import { ComponentProps, NavComponent, NavOptions, TransitionDoneFn, ViewController } from "@ionic/core";
import { ActiveComponent, PushNavOptions } from "./components/zt-bottom-drawer/zt-bottom-dawer";
export { ZTHTMLElementsDrawer, ZTPositionDrawer } from "./components/zt-bottom-drawer/zt-bottom-drawer";
export { ComponentProps, NavComponent, NavOptions, TransitionDoneFn, ViewController } from "@ionic/core";
export { ActiveComponent, PushNavOptions } from "./components/zt-bottom-drawer/zt-bottom-dawer";
export namespace Components {
    interface ZtBottomDrawer {
        "allowScroll": boolean;
        "coefAnimationTime": number;
        "disableGesture": boolean;
        "fixCurrentPosition": boolean;
        "getActiveComponentTagName": () => Promise<string>;
        "getCurrentIndex": () => Promise<number>;
        "getCurrrentPositionDto": () => Promise<ZTPositionDrawer>;
        "getNav": () => Promise<HTMLIonNavElement>;
        "getNavActive": () => Promise<ViewController>;
        "getNavCurrentComponent": () => Promise<any>;
        "getPositionByIndex": (index: number) => Promise<ZTPositionDrawer>;
        "getPositionByName": (name: string) => Promise<ZTPositionDrawer>;
        "goBack": (amountBack?: number, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<Boolean>;
        "goBackToIndex": (index: number, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<Boolean>;
        "goBackToRoot": (opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<Boolean>;
        "hidden": boolean;
        "hide": () => Promise<void>;
        "hideOnPositionZero": boolean;
        "positionName": string;
        "positions": string;
        "pushNav": (component: string | HTMLElement, propsComponent: any, options: PushNavOptions) => Promise<boolean>;
        "refreshSizeContent": () => Promise<void>;
        "safeAreaBottom": number;
        "safeAreaTop": number;
        "saveStateInActiveComponent": () => Promise<void>;
        "setPosition": (value: ZTPositionDrawer, force?: boolean) => Promise<void>;
        "setPositionByName": (name: string, force?: boolean) => Promise<void>;
        "setScrollToTop": (duration?: number) => Promise<void>;
        "setTranslateY": (posY: number, applyAnimation?: boolean) => Promise<void>;
        "show": (positionName: string) => Promise<void>;
    }
    interface ZtNav {
        "getActive": () => Promise<ViewController>;
        "getNav": () => Promise<HTMLIonNavElement>;
        "pushNav": <T extends NavComponent>(component: any, componentProps?: ComponentProps<T> | null | undefined, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
    }
}
export interface ZtBottomDrawerCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLZtBottomDrawerElement;
}
declare global {
    interface HTMLZtBottomDrawerElement extends Components.ZtBottomDrawer, HTMLStencilElement {
    }
    var HTMLZtBottomDrawerElement: {
        prototype: HTMLZtBottomDrawerElement;
        new (): HTMLZtBottomDrawerElement;
    };
    interface HTMLZtNavElement extends Components.ZtNav, HTMLStencilElement {
    }
    var HTMLZtNavElement: {
        prototype: HTMLZtNavElement;
        new (): HTMLZtNavElement;
    };
    interface HTMLElementTagNameMap {
        "zt-bottom-drawer": HTMLZtBottomDrawerElement;
        "zt-nav": HTMLZtNavElement;
    }
}
declare namespace LocalJSX {
    interface ZtBottomDrawer {
        "allowScroll"?: boolean;
        "coefAnimationTime"?: number;
        "disableGesture"?: boolean;
        "fixCurrentPosition"?: boolean;
        "hidden"?: boolean;
        "hideOnPositionZero"?: boolean;
        "onZtChangePositionEvent"?: (event: ZtBottomDrawerCustomEvent<{ positionName: string, lastPositionName: string, htmlElements: ZTHTMLElementsDrawer }>) => void;
        "onZtHideEvent"?: (event: ZtBottomDrawerCustomEvent<ZTHTMLElementsDrawer>) => void;
        "onZtNavDidChange"?: (event: ZtBottomDrawerCustomEvent<any>) => void;
        "onZtNavWillChange"?: (event: ZtBottomDrawerCustomEvent<any>) => void;
        "positionName"?: string;
        "positions"?: string;
        "safeAreaBottom"?: number;
        "safeAreaTop"?: number;
    }
    interface ZtNav {
    }
    interface IntrinsicElements {
        "zt-bottom-drawer": ZtBottomDrawer;
        "zt-nav": ZtNav;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "zt-bottom-drawer": LocalJSX.ZtBottomDrawer & JSXBase.HTMLAttributes<HTMLZtBottomDrawerElement>;
            "zt-nav": LocalJSX.ZtNav & JSXBase.HTMLAttributes<HTMLZtNavElement>;
        }
    }
}
