/* 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 { Button, Icon, Input } from "./api";
import { FormRef } from "./utils/component";
export { Button, Icon, Input } from "./api";
export { FormRef } from "./utils/component";
export namespace Components {
    interface LmvzAction {
    }
    interface LmvzButton {
        /**
          * Whether the button is disabled
          * @default false
         */
        "disabled": boolean;
        /**
          * The HTML form element or form element id. Used to submit a form when the button is not a child of the form.
         */
        "form"?: FormRef;
        /**
          * Scale of the button
          * @default 'default'
         */
        "scale": Button.Scale;
        /**
          * @readonly 
          * @default 0
         */
        "ti": number;
        /**
          * @default 'button'
         */
        "type": 'submit' | 'button';
        /**
          * Variant of the button
          * @default 'secondary', since the primary button should be marked as such in context
         */
        "variant": Button.Variant;
    }
    interface LmvzCard {
        /**
          * Card title (required)
         */
        "cardTitle": string;
        /**
          * Optional description
         */
        "description"?: string;
        /**
          * Optional image URL; placeholder used if omitted
         */
        "imageUrl"?: string;
        /**
          * Primary action button label
          * @default ''
         */
        "primaryActionLabel": string;
    }
    interface LmvzChip {
        "text": string;
    }
    /**
     * An accessible, application-style navigation header component, that renders two connected levels of navigation.
     */
    interface LmvzHeader {
        "lmvzActiveNav"?: string;
        /**
          * @readonly 
          * @default 'banner'
         */
        "role": string;
    }
    /**
     * `lmvz-icon` is a web component that lazy-loads and displays an SVG icon from our predefined icon set.
     * It uses an IntersectionObserver to defer loading the icon until it becomes visible in the viewport. Once loaded, icon data is cached across instances.
     */
    interface LmvzIcon {
        "ariaLabel"?: string;
        /**
          * The name of the icon to display (required).
         */
        "icon": Icon.IconName;
        /**
          * The size of the icon (optional, default is 'md').
          * @default 'md'
         */
        "size"?: Icon.Size;
        /**
          * The weight/style of the icon (optional, default is 'medium').
          * @default 'medium'
         */
        "weight"?: Icon.IconWeight;
    }
    /**
     * Input component with floating label, (form) validation, and slotted content support.
     * @example ```html
     * <lmvz-input
     *   label="Email"
     *   type="email"
     *   required
     *   autocomplete="email"
     *   helper-text="We'll never share your email"
     * ></lmvz-input>
     * ```
     * @example ```typescript
     * const input = document.querySelector('lmvz-input');
     * input.addEventListener('input', (e) => console.log(e.target.value));
     * await input.focus();
     * ```
     */
    interface LmvzInput {
        /**
          * Autocapitalize attribute for mobile keyboards
          * @default undefined
         */
        "autocapitalize"?: Input.Autocapitalize;
        /**
          * Autocomplete attribute for form autofill
         */
        "autocomplete"?: Input.Autocomplete;
        /**
          * Autocorrect attribute for mobile keyboards
          * @default undefined
         */
        "autocorrect"?: 'on' | 'off';
        /**
          * Whether the input should autofocus
          * @default false
         */
        "autofocus": boolean;
        /**
          * Removes focus from the input
         */
        "blurInput": () => Promise<void>;
        /**
          * Returns whether the input satisfies its validation constraints
         */
        "checkValidity": () => Promise<boolean>;
        /**
          * Whether the input is disabled
          * @default false
         */
        "disabled": boolean;
        /**
          * Whether the input is in an error state When not set manually, this will automatically reflect native HTML5 validation state
          * @default false
         */
        "error": boolean;
        /**
          * Error message to display when error is true
         */
        "errorMessage"?: string;
        /**
          * Sets focus on the input
         */
        "focusInput": () => Promise<void>;
        /**
          * Form id to associate with
         */
        "form"?: string;
        /**
          * Returns the native HTMLInputElement.  Promise resolves when the element is ready and the input is available. If the input is not yet rendered, it waits for the component to be ready.
         */
        "getInputElement": () => Promise<HTMLInputElement>;
        /**
          * Helper text displayed below the input
         */
        "helperText"?: string;
        /**
          * Input mode for mobile keyboards
         */
        "inputmode"?: Input.Inputmode;
        /**
          * Label text for the input
         */
        "label": string;
        /**
          * Maximum value for number/date inputs
         */
        "max"?: number | string;
        /**
          * Maximum length for text inputs
         */
        "maxlength"?: number;
        /**
          * Minimum value for number/date inputs
         */
        "min"?: number | string;
        /**
          * Minimum length for text inputs
         */
        "minlength"?: number;
        /**
          * Name attribute for the input
         */
        "name"?: string;
        /**
          * Validation pattern (regex)
         */
        "pattern"?: string;
        /**
          * Placeholder text
         */
        "placeholder"?: string;
        /**
          * Whether the input is readonly
          * @default false
         */
        "readonly": boolean;
        /**
          * Reports validation errors to the user
         */
        "reportValidity": () => Promise<boolean>;
        /**
          * Whether the input is required
          * @default false
         */
        "required": boolean;
        /**
          * Selects the text in the input
         */
        "select": () => Promise<void>;
        "setValue": (newValue: string | undefined) => Promise<void>;
        /**
          * Spellcheck attribute
          * @default undefined
         */
        "spellcheck"?: boolean;
        /**
          * Step interval for number inputs
         */
        "step"?: number | string;
        /**
          * Type of the input
          * @default 'text'
         */
        "type": Input.Type;
        /**
          * Value of the input
         */
        "value"?: string;
    }
    /**
     * A menu item component to be used within the `lmvz-header` component's navigation slots.
     */
    interface LmvzMenuitem {
        /**
          * @readonly 
          * @default 'menuitem'
         */
        "role": string;
        /**
          * @readonly 
          * @default 0
         */
        "ti": number;
    }
}
export interface LmvzActionCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLLmvzActionElement;
}
export interface LmvzButtonCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLLmvzButtonElement;
}
export interface LmvzCardCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLLmvzCardElement;
}
export interface LmvzInputCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLLmvzInputElement;
}
export interface LmvzMenuitemCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLLmvzMenuitemElement;
}
declare global {
    interface HTMLLmvzActionElementEventMap {
        "actionClick": MouseEvent;
    }
    interface HTMLLmvzActionElement extends Components.LmvzAction, HTMLStencilElement {
        addEventListener<K extends keyof HTMLLmvzActionElementEventMap>(type: K, listener: (this: HTMLLmvzActionElement, ev: LmvzActionCustomEvent<HTMLLmvzActionElementEventMap[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 HTMLLmvzActionElementEventMap>(type: K, listener: (this: HTMLLmvzActionElement, ev: LmvzActionCustomEvent<HTMLLmvzActionElementEventMap[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 HTMLLmvzActionElement: {
        prototype: HTMLLmvzActionElement;
        new (): HTMLLmvzActionElement;
    };
    interface HTMLLmvzButtonElementEventMap {
        "lmvzActivation": void;
    }
    interface HTMLLmvzButtonElement extends Components.LmvzButton, HTMLStencilElement {
        addEventListener<K extends keyof HTMLLmvzButtonElementEventMap>(type: K, listener: (this: HTMLLmvzButtonElement, ev: LmvzButtonCustomEvent<HTMLLmvzButtonElementEventMap[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 HTMLLmvzButtonElementEventMap>(type: K, listener: (this: HTMLLmvzButtonElement, ev: LmvzButtonCustomEvent<HTMLLmvzButtonElementEventMap[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 HTMLLmvzButtonElement: {
        prototype: HTMLLmvzButtonElement;
        new (): HTMLLmvzButtonElement;
    };
    interface HTMLLmvzCardElementEventMap {
        "primaryAction": PointerEvent;
    }
    interface HTMLLmvzCardElement extends Components.LmvzCard, HTMLStencilElement {
        addEventListener<K extends keyof HTMLLmvzCardElementEventMap>(type: K, listener: (this: HTMLLmvzCardElement, ev: LmvzCardCustomEvent<HTMLLmvzCardElementEventMap[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 HTMLLmvzCardElementEventMap>(type: K, listener: (this: HTMLLmvzCardElement, ev: LmvzCardCustomEvent<HTMLLmvzCardElementEventMap[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 HTMLLmvzCardElement: {
        prototype: HTMLLmvzCardElement;
        new (): HTMLLmvzCardElement;
    };
    interface HTMLLmvzChipElement extends Components.LmvzChip, HTMLStencilElement {
    }
    var HTMLLmvzChipElement: {
        prototype: HTMLLmvzChipElement;
        new (): HTMLLmvzChipElement;
    };
    /**
     * An accessible, application-style navigation header component, that renders two connected levels of navigation.
     */
    interface HTMLLmvzHeaderElement extends Components.LmvzHeader, HTMLStencilElement {
    }
    var HTMLLmvzHeaderElement: {
        prototype: HTMLLmvzHeaderElement;
        new (): HTMLLmvzHeaderElement;
    };
    /**
     * `lmvz-icon` is a web component that lazy-loads and displays an SVG icon from our predefined icon set.
     * It uses an IntersectionObserver to defer loading the icon until it becomes visible in the viewport. Once loaded, icon data is cached across instances.
     */
    interface HTMLLmvzIconElement extends Components.LmvzIcon, HTMLStencilElement {
    }
    var HTMLLmvzIconElement: {
        prototype: HTMLLmvzIconElement;
        new (): HTMLLmvzIconElement;
    };
    interface HTMLLmvzInputElementEventMap {
        "lmvzInput": string;
    }
    /**
     * Input component with floating label, (form) validation, and slotted content support.
     * @example ```html
     * <lmvz-input
     *   label="Email"
     *   type="email"
     *   required
     *   autocomplete="email"
     *   helper-text="We'll never share your email"
     * ></lmvz-input>
     * ```
     * @example ```typescript
     * const input = document.querySelector('lmvz-input');
     * input.addEventListener('input', (e) => console.log(e.target.value));
     * await input.focus();
     * ```
     */
    interface HTMLLmvzInputElement extends Components.LmvzInput, HTMLStencilElement {
        addEventListener<K extends keyof HTMLLmvzInputElementEventMap>(type: K, listener: (this: HTMLLmvzInputElement, ev: LmvzInputCustomEvent<HTMLLmvzInputElementEventMap[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 HTMLLmvzInputElementEventMap>(type: K, listener: (this: HTMLLmvzInputElement, ev: LmvzInputCustomEvent<HTMLLmvzInputElementEventMap[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 HTMLLmvzInputElement: {
        prototype: HTMLLmvzInputElement;
        new (): HTMLLmvzInputElement;
    };
    interface HTMLLmvzMenuitemElementEventMap {
        "lmvzActivation": void;
    }
    /**
     * A menu item component to be used within the `lmvz-header` component's navigation slots.
     */
    interface HTMLLmvzMenuitemElement extends Components.LmvzMenuitem, HTMLStencilElement {
        addEventListener<K extends keyof HTMLLmvzMenuitemElementEventMap>(type: K, listener: (this: HTMLLmvzMenuitemElement, ev: LmvzMenuitemCustomEvent<HTMLLmvzMenuitemElementEventMap[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 HTMLLmvzMenuitemElementEventMap>(type: K, listener: (this: HTMLLmvzMenuitemElement, ev: LmvzMenuitemCustomEvent<HTMLLmvzMenuitemElementEventMap[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 HTMLLmvzMenuitemElement: {
        prototype: HTMLLmvzMenuitemElement;
        new (): HTMLLmvzMenuitemElement;
    };
    interface HTMLElementTagNameMap {
        "lmvz-action": HTMLLmvzActionElement;
        "lmvz-button": HTMLLmvzButtonElement;
        "lmvz-card": HTMLLmvzCardElement;
        "lmvz-chip": HTMLLmvzChipElement;
        "lmvz-header": HTMLLmvzHeaderElement;
        "lmvz-icon": HTMLLmvzIconElement;
        "lmvz-input": HTMLLmvzInputElement;
        "lmvz-menuitem": HTMLLmvzMenuitemElement;
    }
}
declare namespace LocalJSX {
    type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}` | `prop:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K | `prop:${K}`]?: never } | { [P in `prop:${K}`]: PropT } & { [P in K | `attr:${K}`]?: never };

    interface LmvzAction {
        "onActionClick"?: (event: LmvzActionCustomEvent<MouseEvent>) => void;
    }
    interface LmvzButton {
        /**
          * Whether the button is disabled
          * @default false
         */
        "disabled"?: boolean;
        /**
          * The HTML form element or form element id. Used to submit a form when the button is not a child of the form.
         */
        "form"?: FormRef;
        "onLmvzActivation"?: (event: LmvzButtonCustomEvent<void>) => void;
        /**
          * Scale of the button
          * @default 'default'
         */
        "scale"?: Button.Scale;
        /**
          * @readonly 
          * @default 0
         */
        "ti"?: number;
        /**
          * @default 'button'
         */
        "type"?: 'submit' | 'button';
        /**
          * Variant of the button
          * @default 'secondary', since the primary button should be marked as such in context
         */
        "variant"?: Button.Variant;
    }
    interface LmvzCard {
        /**
          * Card title (required)
         */
        "cardTitle": string;
        /**
          * Optional description
         */
        "description"?: string;
        /**
          * Optional image URL; placeholder used if omitted
         */
        "imageUrl"?: string;
        /**
          * Event emitted when primary button is clicked
         */
        "onPrimaryAction"?: (event: LmvzCardCustomEvent<PointerEvent>) => void;
        /**
          * Primary action button label
          * @default ''
         */
        "primaryActionLabel"?: string;
    }
    interface LmvzChip {
        "text"?: string;
    }
    /**
     * An accessible, application-style navigation header component, that renders two connected levels of navigation.
     */
    interface LmvzHeader {
        "lmvzActiveNav"?: string;
        /**
          * @readonly 
          * @default 'banner'
         */
        "role"?: string;
    }
    /**
     * `lmvz-icon` is a web component that lazy-loads and displays an SVG icon from our predefined icon set.
     * It uses an IntersectionObserver to defer loading the icon until it becomes visible in the viewport. Once loaded, icon data is cached across instances.
     */
    interface LmvzIcon {
        "ariaLabel"?: string;
        /**
          * The name of the icon to display (required).
         */
        "icon": Icon.IconName;
        /**
          * The size of the icon (optional, default is 'md').
          * @default 'md'
         */
        "size"?: Icon.Size;
        /**
          * The weight/style of the icon (optional, default is 'medium').
          * @default 'medium'
         */
        "weight"?: Icon.IconWeight;
    }
    /**
     * Input component with floating label, (form) validation, and slotted content support.
     * @example ```html
     * <lmvz-input
     *   label="Email"
     *   type="email"
     *   required
     *   autocomplete="email"
     *   helper-text="We'll never share your email"
     * ></lmvz-input>
     * ```
     * @example ```typescript
     * const input = document.querySelector('lmvz-input');
     * input.addEventListener('input', (e) => console.log(e.target.value));
     * await input.focus();
     * ```
     */
    interface LmvzInput {
        /**
          * Autocapitalize attribute for mobile keyboards
          * @default undefined
         */
        "autocapitalize"?: Input.Autocapitalize;
        /**
          * Autocomplete attribute for form autofill
         */
        "autocomplete"?: Input.Autocomplete;
        /**
          * Autocorrect attribute for mobile keyboards
          * @default undefined
         */
        "autocorrect"?: 'on' | 'off';
        /**
          * Whether the input should autofocus
          * @default false
         */
        "autofocus"?: boolean;
        /**
          * Whether the input is disabled
          * @default false
         */
        "disabled"?: boolean;
        /**
          * Whether the input is in an error state When not set manually, this will automatically reflect native HTML5 validation state
          * @default false
         */
        "error"?: boolean;
        /**
          * Error message to display when error is true
         */
        "errorMessage"?: string;
        /**
          * Form id to associate with
         */
        "form"?: string;
        /**
          * Helper text displayed below the input
         */
        "helperText"?: string;
        /**
          * Input mode for mobile keyboards
         */
        "inputmode"?: Input.Inputmode;
        /**
          * Label text for the input
         */
        "label": string;
        /**
          * Maximum value for number/date inputs
         */
        "max"?: number | string;
        /**
          * Maximum length for text inputs
         */
        "maxlength"?: number;
        /**
          * Minimum value for number/date inputs
         */
        "min"?: number | string;
        /**
          * Minimum length for text inputs
         */
        "minlength"?: number;
        /**
          * Name attribute for the input
         */
        "name"?: string;
        "onLmvzInput"?: (event: LmvzInputCustomEvent<string>) => void;
        /**
          * Validation pattern (regex)
         */
        "pattern"?: string;
        /**
          * Placeholder text
         */
        "placeholder"?: string;
        /**
          * Whether the input is readonly
          * @default false
         */
        "readonly"?: boolean;
        /**
          * Whether the input is required
          * @default false
         */
        "required"?: boolean;
        /**
          * Spellcheck attribute
          * @default undefined
         */
        "spellcheck"?: boolean;
        /**
          * Step interval for number inputs
         */
        "step"?: number | string;
        /**
          * Type of the input
          * @default 'text'
         */
        "type"?: Input.Type;
        /**
          * Value of the input
         */
        "value"?: string;
    }
    /**
     * A menu item component to be used within the `lmvz-header` component's navigation slots.
     */
    interface LmvzMenuitem {
        "onLmvzActivation"?: (event: LmvzMenuitemCustomEvent<void>) => void;
        /**
          * @readonly 
          * @default 'menuitem'
         */
        "role"?: string;
        /**
          * @readonly 
          * @default 0
         */
        "ti"?: number;
    }

    interface LmvzButtonAttributes {
        "ti": number;
        "scale": Button.Scale;
        "variant": Button.Variant;
        "disabled": boolean;
        "type": 'submit' | 'button';
        "form": FormRef;
    }
    interface LmvzCardAttributes {
        "cardTitle": string;
        "imageUrl": string;
        "description": string;
        "primaryActionLabel": string;
    }
    interface LmvzChipAttributes {
        "text": string;
    }
    interface LmvzHeaderAttributes {
        "role": string;
        "lmvzActiveNav": string;
    }
    interface LmvzIconAttributes {
        "icon": Icon.IconName;
        "weight": Icon.IconWeight;
        "size": Icon.Size;
        "ariaLabel": string;
    }
    interface LmvzInputAttributes {
        "value": string;
        "label": string;
        "helperText": string;
        "placeholder": string;
        "disabled": boolean;
        "readonly": boolean;
        "required": boolean;
        "name": string;
        "type": Input.Type;
        "errorMessage": string;
        "autocomplete": Input.Autocomplete;
        "inputmode": Input.Inputmode;
        "autocorrect": 'on' | 'off';
        "autocapitalize": Input.Autocapitalize;
        "spellcheck": boolean;
        "autofocus": boolean;
        "minlength": number;
        "maxlength": number;
        "pattern": string;
        "min": string;
        "max": string;
        "step": string;
        "form": string;
        "error": boolean;
    }
    interface LmvzMenuitemAttributes {
        "role": string;
        "ti": number;
    }

    interface IntrinsicElements {
        "lmvz-action": LmvzAction;
        "lmvz-button": Omit<LmvzButton, keyof LmvzButtonAttributes> & { [K in keyof LmvzButton & keyof LmvzButtonAttributes]?: LmvzButton[K] } & { [K in keyof LmvzButton & keyof LmvzButtonAttributes as `attr:${K}`]?: LmvzButtonAttributes[K] } & { [K in keyof LmvzButton & keyof LmvzButtonAttributes as `prop:${K}`]?: LmvzButton[K] };
        "lmvz-card": Omit<LmvzCard, keyof LmvzCardAttributes> & { [K in keyof LmvzCard & keyof LmvzCardAttributes]?: LmvzCard[K] } & { [K in keyof LmvzCard & keyof LmvzCardAttributes as `attr:${K}`]?: LmvzCardAttributes[K] } & { [K in keyof LmvzCard & keyof LmvzCardAttributes as `prop:${K}`]?: LmvzCard[K] } & OneOf<"cardTitle", LmvzCard["cardTitle"], LmvzCardAttributes["cardTitle"]>;
        "lmvz-chip": Omit<LmvzChip, keyof LmvzChipAttributes> & { [K in keyof LmvzChip & keyof LmvzChipAttributes]?: LmvzChip[K] } & { [K in keyof LmvzChip & keyof LmvzChipAttributes as `attr:${K}`]?: LmvzChipAttributes[K] } & { [K in keyof LmvzChip & keyof LmvzChipAttributes as `prop:${K}`]?: LmvzChip[K] };
        "lmvz-header": Omit<LmvzHeader, keyof LmvzHeaderAttributes> & { [K in keyof LmvzHeader & keyof LmvzHeaderAttributes]?: LmvzHeader[K] } & { [K in keyof LmvzHeader & keyof LmvzHeaderAttributes as `attr:${K}`]?: LmvzHeaderAttributes[K] } & { [K in keyof LmvzHeader & keyof LmvzHeaderAttributes as `prop:${K}`]?: LmvzHeader[K] };
        "lmvz-icon": Omit<LmvzIcon, keyof LmvzIconAttributes> & { [K in keyof LmvzIcon & keyof LmvzIconAttributes]?: LmvzIcon[K] } & { [K in keyof LmvzIcon & keyof LmvzIconAttributes as `attr:${K}`]?: LmvzIconAttributes[K] } & { [K in keyof LmvzIcon & keyof LmvzIconAttributes as `prop:${K}`]?: LmvzIcon[K] } & OneOf<"icon", LmvzIcon["icon"], LmvzIconAttributes["icon"]>;
        "lmvz-input": Omit<LmvzInput, keyof LmvzInputAttributes> & { [K in keyof LmvzInput & keyof LmvzInputAttributes]?: LmvzInput[K] } & { [K in keyof LmvzInput & keyof LmvzInputAttributes as `attr:${K}`]?: LmvzInputAttributes[K] } & { [K in keyof LmvzInput & keyof LmvzInputAttributes as `prop:${K}`]?: LmvzInput[K] } & OneOf<"label", LmvzInput["label"], LmvzInputAttributes["label"]>;
        "lmvz-menuitem": Omit<LmvzMenuitem, keyof LmvzMenuitemAttributes> & { [K in keyof LmvzMenuitem & keyof LmvzMenuitemAttributes]?: LmvzMenuitem[K] } & { [K in keyof LmvzMenuitem & keyof LmvzMenuitemAttributes as `attr:${K}`]?: LmvzMenuitemAttributes[K] } & { [K in keyof LmvzMenuitem & keyof LmvzMenuitemAttributes as `prop:${K}`]?: LmvzMenuitem[K] };
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "lmvz-action": LocalJSX.IntrinsicElements["lmvz-action"] & JSXBase.HTMLAttributes<HTMLLmvzActionElement>;
            "lmvz-button": LocalJSX.IntrinsicElements["lmvz-button"] & JSXBase.HTMLAttributes<HTMLLmvzButtonElement>;
            "lmvz-card": LocalJSX.IntrinsicElements["lmvz-card"] & JSXBase.HTMLAttributes<HTMLLmvzCardElement>;
            "lmvz-chip": LocalJSX.IntrinsicElements["lmvz-chip"] & JSXBase.HTMLAttributes<HTMLLmvzChipElement>;
            /**
             * An accessible, application-style navigation header component, that renders two connected levels of navigation.
             */
            "lmvz-header": LocalJSX.IntrinsicElements["lmvz-header"] & JSXBase.HTMLAttributes<HTMLLmvzHeaderElement>;
            /**
             * `lmvz-icon` is a web component that lazy-loads and displays an SVG icon from our predefined icon set.
             * It uses an IntersectionObserver to defer loading the icon until it becomes visible in the viewport. Once loaded, icon data is cached across instances.
             */
            "lmvz-icon": LocalJSX.IntrinsicElements["lmvz-icon"] & JSXBase.HTMLAttributes<HTMLLmvzIconElement>;
            /**
             * Input component with floating label, (form) validation, and slotted content support.
             * @example ```html
             * <lmvz-input
             *   label="Email"
             *   type="email"
             *   required
             *   autocomplete="email"
             *   helper-text="We'll never share your email"
             * ></lmvz-input>
             * ```
             * @example ```typescript
             * const input = document.querySelector('lmvz-input');
             * input.addEventListener('input', (e) => console.log(e.target.value));
             * await input.focus();
             * ```
             */
            "lmvz-input": LocalJSX.IntrinsicElements["lmvz-input"] & JSXBase.HTMLAttributes<HTMLLmvzInputElement>;
            /**
             * A menu item component to be used within the `lmvz-header` component's navigation slots.
             */
            "lmvz-menuitem": LocalJSX.IntrinsicElements["lmvz-menuitem"] & JSXBase.HTMLAttributes<HTMLLmvzMenuitemElement>;
        }
    }
}
