/* 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";
export namespace Components {
    interface EwsCard {
        /**
          * Custom color for border and content (red or orange)
         */
        "color"?: string;
        /**
          * Additional CSS classes to apply to the card wrapper
          * @default ''
         */
        "customClass": string;
        /**
          * Inline style
         */
        "customStyle"?: string;
    }
    interface EwsHexGrid {
        /**
          * Additional CSS class for the container.
          * @default ''
         */
        "customClass": string;
        /**
          * Gap between hex cells in pixels.
          * @default 4
         */
        "gap": number;
        /**
          * Height of each hex cell in pixels.
         */
        "hexHeight": number;
        /**
          * Width of each hex cell in pixels.
         */
        "hexWidth": number;
        /**
          * Hex orientation variant: 'pointy' or 'flat'.
          * @default 'pointy'
         */
        "variant": 'pointy' | 'flat';
    }
    interface EwsHexShape {
        /**
          * Whether to clip content within the hex shape.
          * @default false
         */
        "clipContent": boolean;
        /**
          * The color variant of the hex shape.
          * @default 'orange'
         */
        "color": string;
        /**
          * Additional CSS classes for the component.
          * @default ''
         */
        "customClass": string;
        /**
          * Whether the hex shape has a flat top.
          * @default true
         */
        "flatTop": boolean;
        /**
          * The padding inside the hex shape for content.
          * @default 10
         */
        "paddingContent": number;
    }
    interface EwsRibLayout {
        /**
          * Optional renderer function for the connector content.
         */
        "connectorRenderer"?: (item: any, props: { side: 'left' | 'right'; branchIndex: number; index: number; delay: number }) => any;
        /**
          * Function to get the href for a node. If provided, nodes will be rendered as <a> tags.
         */
        "getHref"?: (item: any) => string;
        /**
          * Array of items to be displayed in the rib cage layout.
          * @default []
         */
        "items": any[];
        /**
          * Maximum number of branches to display. If not provided, it defaults to 5 (responsive).
         */
        "maxBranches"?: number;
        /**
          * Optional renderer function for the node content.
         */
        "nodeRenderer"?: (item: any, props: { side: 'left' | 'right'; branchIndex: number; index: number; delay: number }) => any;
    }
    interface EwsStripeBar {
        /**
          * @default ''
         */
        "color": string;
        /**
          * @default 10
         */
        "duration": number;
        /**
          * @default false
         */
        "loop": boolean;
        /**
          * @default ''
         */
        "orientation": string;
        /**
          * @default false
         */
        "reverse": boolean;
        /**
          * @default '30px'
         */
        "size": string;
    }
    interface MyComponent {
        /**
          * The first name
         */
        "first": string;
        /**
          * The last name
         */
        "last": string;
        /**
          * The middle name
         */
        "middle": string;
    }
}
export interface EwsCardCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLEwsCardElement;
}
declare global {
    interface HTMLEwsCardElementEventMap {
        "toggle": void;
    }
    interface HTMLEwsCardElement extends Components.EwsCard, HTMLStencilElement {
        addEventListener<K extends keyof HTMLEwsCardElementEventMap>(type: K, listener: (this: HTMLEwsCardElement, ev: EwsCardCustomEvent<HTMLEwsCardElementEventMap[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 HTMLEwsCardElementEventMap>(type: K, listener: (this: HTMLEwsCardElement, ev: EwsCardCustomEvent<HTMLEwsCardElementEventMap[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 HTMLEwsCardElement: {
        prototype: HTMLEwsCardElement;
        new (): HTMLEwsCardElement;
    };
    interface HTMLEwsHexGridElement extends Components.EwsHexGrid, HTMLStencilElement {
    }
    var HTMLEwsHexGridElement: {
        prototype: HTMLEwsHexGridElement;
        new (): HTMLEwsHexGridElement;
    };
    interface HTMLEwsHexShapeElement extends Components.EwsHexShape, HTMLStencilElement {
    }
    var HTMLEwsHexShapeElement: {
        prototype: HTMLEwsHexShapeElement;
        new (): HTMLEwsHexShapeElement;
    };
    interface HTMLEwsRibLayoutElement extends Components.EwsRibLayout, HTMLStencilElement {
    }
    var HTMLEwsRibLayoutElement: {
        prototype: HTMLEwsRibLayoutElement;
        new (): HTMLEwsRibLayoutElement;
    };
    interface HTMLEwsStripeBarElement extends Components.EwsStripeBar, HTMLStencilElement {
    }
    var HTMLEwsStripeBarElement: {
        prototype: HTMLEwsStripeBarElement;
        new (): HTMLEwsStripeBarElement;
    };
    interface HTMLMyComponentElement extends Components.MyComponent, HTMLStencilElement {
    }
    var HTMLMyComponentElement: {
        prototype: HTMLMyComponentElement;
        new (): HTMLMyComponentElement;
    };
    interface HTMLElementTagNameMap {
        "ews-card": HTMLEwsCardElement;
        "ews-hex-grid": HTMLEwsHexGridElement;
        "ews-hex-shape": HTMLEwsHexShapeElement;
        "ews-rib-layout": HTMLEwsRibLayoutElement;
        "ews-stripe-bar": HTMLEwsStripeBarElement;
        "my-component": HTMLMyComponentElement;
    }
}
declare namespace LocalJSX {
    interface EwsCard {
        /**
          * Custom color for border and content (red or orange)
         */
        "color"?: string;
        /**
          * Additional CSS classes to apply to the card wrapper
          * @default ''
         */
        "customClass"?: string;
        /**
          * Inline style
         */
        "customStyle"?: string;
        /**
          * Emitted when the card toggles open/close state
         */
        "onToggle"?: (event: EwsCardCustomEvent<void>) => void;
    }
    interface EwsHexGrid {
        /**
          * Additional CSS class for the container.
          * @default ''
         */
        "customClass"?: string;
        /**
          * Gap between hex cells in pixels.
          * @default 4
         */
        "gap"?: number;
        /**
          * Height of each hex cell in pixels.
         */
        "hexHeight"?: number;
        /**
          * Width of each hex cell in pixels.
         */
        "hexWidth"?: number;
        /**
          * Hex orientation variant: 'pointy' or 'flat'.
          * @default 'pointy'
         */
        "variant"?: 'pointy' | 'flat';
    }
    interface EwsHexShape {
        /**
          * Whether to clip content within the hex shape.
          * @default false
         */
        "clipContent"?: boolean;
        /**
          * The color variant of the hex shape.
          * @default 'orange'
         */
        "color"?: string;
        /**
          * Additional CSS classes for the component.
          * @default ''
         */
        "customClass"?: string;
        /**
          * Whether the hex shape has a flat top.
          * @default true
         */
        "flatTop"?: boolean;
        /**
          * The padding inside the hex shape for content.
          * @default 10
         */
        "paddingContent"?: number;
    }
    interface EwsRibLayout {
        /**
          * Optional renderer function for the connector content.
         */
        "connectorRenderer"?: (item: any, props: { side: 'left' | 'right'; branchIndex: number; index: number; delay: number }) => any;
        /**
          * Function to get the href for a node. If provided, nodes will be rendered as <a> tags.
         */
        "getHref"?: (item: any) => string;
        /**
          * Array of items to be displayed in the rib cage layout.
          * @default []
         */
        "items"?: any[];
        /**
          * Maximum number of branches to display. If not provided, it defaults to 5 (responsive).
         */
        "maxBranches"?: number;
        /**
          * Optional renderer function for the node content.
         */
        "nodeRenderer"?: (item: any, props: { side: 'left' | 'right'; branchIndex: number; index: number; delay: number }) => any;
    }
    interface EwsStripeBar {
        /**
          * @default ''
         */
        "color"?: string;
        /**
          * @default 10
         */
        "duration"?: number;
        /**
          * @default false
         */
        "loop"?: boolean;
        /**
          * @default ''
         */
        "orientation"?: string;
        /**
          * @default false
         */
        "reverse"?: boolean;
        /**
          * @default '30px'
         */
        "size"?: string;
    }
    interface MyComponent {
        /**
          * The first name
         */
        "first"?: string;
        /**
          * The last name
         */
        "last"?: string;
        /**
          * The middle name
         */
        "middle"?: string;
    }

    interface EwsCardAttributes {
        "customClass": string;
        "color": string;
        "customStyle": string;
    }
    interface EwsHexGridAttributes {
        "customClass": string;
        "variant": 'pointy' | 'flat';
        "hexWidth": number;
        "hexHeight": number;
        "gap": number;
    }
    interface EwsHexShapeAttributes {
        "customClass": string;
        "color": string;
        "flatTop": boolean;
        "clipContent": boolean;
        "paddingContent": number;
    }
    interface EwsRibLayoutAttributes {
        "maxBranches": number;
    }
    interface EwsStripeBarAttributes {
        "color": string;
        "orientation": string;
        "loop": boolean;
        "reverse": boolean;
        "duration": number;
        "size": string;
    }
    interface MyComponentAttributes {
        "first": string;
        "middle": string;
        "last": string;
    }

    interface IntrinsicElements {
        "ews-card": Omit<EwsCard, keyof EwsCardAttributes> & { [K in keyof EwsCard & keyof EwsCardAttributes]?: EwsCard[K] } & { [K in keyof EwsCard & keyof EwsCardAttributes as `attr:${K}`]?: EwsCardAttributes[K] } & { [K in keyof EwsCard & keyof EwsCardAttributes as `prop:${K}`]?: EwsCard[K] };
        "ews-hex-grid": Omit<EwsHexGrid, keyof EwsHexGridAttributes> & { [K in keyof EwsHexGrid & keyof EwsHexGridAttributes]?: EwsHexGrid[K] } & { [K in keyof EwsHexGrid & keyof EwsHexGridAttributes as `attr:${K}`]?: EwsHexGridAttributes[K] } & { [K in keyof EwsHexGrid & keyof EwsHexGridAttributes as `prop:${K}`]?: EwsHexGrid[K] };
        "ews-hex-shape": Omit<EwsHexShape, keyof EwsHexShapeAttributes> & { [K in keyof EwsHexShape & keyof EwsHexShapeAttributes]?: EwsHexShape[K] } & { [K in keyof EwsHexShape & keyof EwsHexShapeAttributes as `attr:${K}`]?: EwsHexShapeAttributes[K] } & { [K in keyof EwsHexShape & keyof EwsHexShapeAttributes as `prop:${K}`]?: EwsHexShape[K] };
        "ews-rib-layout": Omit<EwsRibLayout, keyof EwsRibLayoutAttributes> & { [K in keyof EwsRibLayout & keyof EwsRibLayoutAttributes]?: EwsRibLayout[K] } & { [K in keyof EwsRibLayout & keyof EwsRibLayoutAttributes as `attr:${K}`]?: EwsRibLayoutAttributes[K] } & { [K in keyof EwsRibLayout & keyof EwsRibLayoutAttributes as `prop:${K}`]?: EwsRibLayout[K] };
        "ews-stripe-bar": Omit<EwsStripeBar, keyof EwsStripeBarAttributes> & { [K in keyof EwsStripeBar & keyof EwsStripeBarAttributes]?: EwsStripeBar[K] } & { [K in keyof EwsStripeBar & keyof EwsStripeBarAttributes as `attr:${K}`]?: EwsStripeBarAttributes[K] } & { [K in keyof EwsStripeBar & keyof EwsStripeBarAttributes as `prop:${K}`]?: EwsStripeBar[K] };
        "my-component": Omit<MyComponent, keyof MyComponentAttributes> & { [K in keyof MyComponent & keyof MyComponentAttributes]?: MyComponent[K] } & { [K in keyof MyComponent & keyof MyComponentAttributes as `attr:${K}`]?: MyComponentAttributes[K] } & { [K in keyof MyComponent & keyof MyComponentAttributes as `prop:${K}`]?: MyComponent[K] };
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "ews-card": LocalJSX.IntrinsicElements["ews-card"] & JSXBase.HTMLAttributes<HTMLEwsCardElement>;
            "ews-hex-grid": LocalJSX.IntrinsicElements["ews-hex-grid"] & JSXBase.HTMLAttributes<HTMLEwsHexGridElement>;
            "ews-hex-shape": LocalJSX.IntrinsicElements["ews-hex-shape"] & JSXBase.HTMLAttributes<HTMLEwsHexShapeElement>;
            "ews-rib-layout": LocalJSX.IntrinsicElements["ews-rib-layout"] & JSXBase.HTMLAttributes<HTMLEwsRibLayoutElement>;
            "ews-stripe-bar": LocalJSX.IntrinsicElements["ews-stripe-bar"] & JSXBase.HTMLAttributes<HTMLEwsStripeBarElement>;
            "my-component": LocalJSX.IntrinsicElements["my-component"] & JSXBase.HTMLAttributes<HTMLMyComponentElement>;
        }
    }
}
