/* 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 { QuantumKey } from "./libs";
import { Provider } from "./libs/provider";
export namespace Components {
    interface QuantumConsumer {
        "bind": QuantumKey<any, any>;
        "debug"?: boolean;
        "name"?: string;
        "namespace"?: string;
    }
    interface QuantumDisplay {
        "bind": QuantumKey<any, any>;
        "debug"?: boolean;
        "mapper": (val: any) => string;
        "name"?: string;
        "namespace"?: string;
    }
    interface QuantumFetch {
    }
    interface QuantumProvider {
        "bind"?: QuantumKey<any, any>;
        "debug"?: boolean;
        "name"?: string;
        "namespace"?: string;
        "value": any;
    }
}
declare global {
    interface HTMLQuantumConsumerElement extends Components.QuantumConsumer, HTMLStencilElement {
    }
    var HTMLQuantumConsumerElement: {
        prototype: HTMLQuantumConsumerElement;
        new (): HTMLQuantumConsumerElement;
    };
    interface HTMLQuantumDisplayElement extends Components.QuantumDisplay, HTMLStencilElement {
    }
    var HTMLQuantumDisplayElement: {
        prototype: HTMLQuantumDisplayElement;
        new (): HTMLQuantumDisplayElement;
    };
    interface HTMLQuantumFetchElement extends Components.QuantumFetch, HTMLStencilElement {
    }
    var HTMLQuantumFetchElement: {
        prototype: HTMLQuantumFetchElement;
        new (): HTMLQuantumFetchElement;
    };
    interface HTMLQuantumProviderElement extends Components.QuantumProvider, HTMLStencilElement {
    }
    var HTMLQuantumProviderElement: {
        prototype: HTMLQuantumProviderElement;
        new (): HTMLQuantumProviderElement;
    };
    interface HTMLElementTagNameMap {
        "quantum-consumer": HTMLQuantumConsumerElement;
        "quantum-display": HTMLQuantumDisplayElement;
        "quantum-fetch": HTMLQuantumFetchElement;
        "quantum-provider": HTMLQuantumProviderElement;
    }
}
declare namespace LocalJSX {
    interface QuantumConsumer {
        "bind": QuantumKey<any, any>;
        "debug"?: boolean;
        "name"?: string;
        "namespace"?: string;
        "onUpdate"?: (event: CustomEvent<{value: any, provider: Provider<any>}>) => void;
    }
    interface QuantumDisplay {
        "bind": QuantumKey<any, any>;
        "debug"?: boolean;
        "mapper"?: (val: any) => string;
        "name"?: string;
        "namespace"?: string;
    }
    interface QuantumFetch {
    }
    interface QuantumProvider {
        "bind"?: QuantumKey<any, any>;
        "debug"?: boolean;
        "name"?: string;
        "namespace"?: string;
        "onUpdate"?: (event: CustomEvent<{value: any, provider: Provider<any>}>) => void;
        "value"?: any;
    }
    interface IntrinsicElements {
        "quantum-consumer": QuantumConsumer;
        "quantum-display": QuantumDisplay;
        "quantum-fetch": QuantumFetch;
        "quantum-provider": QuantumProvider;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "quantum-consumer": LocalJSX.QuantumConsumer & JSXBase.HTMLAttributes<HTMLQuantumConsumerElement>;
            "quantum-display": LocalJSX.QuantumDisplay & JSXBase.HTMLAttributes<HTMLQuantumDisplayElement>;
            "quantum-fetch": LocalJSX.QuantumFetch & JSXBase.HTMLAttributes<HTMLQuantumFetchElement>;
            "quantum-provider": LocalJSX.QuantumProvider & JSXBase.HTMLAttributes<HTMLQuantumProviderElement>;
        }
    }
}
