/* 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 { AddonReminderStencilDTO, AuthorStencilDTO } from "./interfaces";
import { StateOfReminder } from "./utils/utils";
export namespace Components {
    interface AddonReminder {
        "reminderInfo": {
    name: string;
    description: string;
    hour: string;
    minute: string;
    duration: string;
    date: string;
  };
        "state": string;
        "userInfo": AuthorStencilDTO;
    }
    interface AddonReminderBody {
        "addonReminderInfoFromParent": {
    name: string;
    description: string;
    hour: string;
    minute: string;
    duration: string;
    date: string;
  };
        "date": string;
        "descriptionText": string;
        "duration": string;
        "hours": string;
        "minutes": string;
        "reminderDoneValue": boolean;
        "state": StateOfReminder;
    }
    interface AddonReminderFooter {
        "author": AuthorStencilDTO;
        "reminderAddonInfo": {name?: string, description?: string, hour?:string, minute?:string, duration?:string, date?: string};
        "reminderDoneProp": boolean;
        "state": StateOfReminder;
        "submitValidation": boolean;
    }
    interface AddonReminderHeader {
        "addonReminderTitle": string;
        "creationDate": string;
        "state": StateOfReminder;
    }
    interface ContentWrapper {
    }
    interface DescriptionInput {
        "state": StateOfReminder;
        "text": string;
    }
    interface InputButton {
        "dark": boolean;
        "icon": boolean;
        "size": string;
        "text": string;
    }
    interface InputSelect {
        "numberOfInputSelect": number;
        "optionLabels": string[];
        "text": string;
        "triggerIsOpen": boolean;
        "valueOfEdit": string;
    }
    interface MyComponent {
        /**
          * The first name
         */
        "first": string;
        /**
          * The last name
         */
        "last": string;
        /**
          * The middle name
         */
        "middle": string;
    }
    interface SynbeeAvatar {
    }
    interface SynbeeBadgeError {
    }
    interface SynbeeOptionsMenu {
        "menuOpened": boolean;
        "state": StateOfReminder;
    }
    interface SynbeeSearchbox {
        "label": string;
        "searchResult": string[];
        "type": string;
        "value": string;
    }
}
declare global {
    interface HTMLAddonReminderElement extends Components.AddonReminder, HTMLStencilElement {
    }
    var HTMLAddonReminderElement: {
        prototype: HTMLAddonReminderElement;
        new (): HTMLAddonReminderElement;
    };
    interface HTMLAddonReminderBodyElement extends Components.AddonReminderBody, HTMLStencilElement {
    }
    var HTMLAddonReminderBodyElement: {
        prototype: HTMLAddonReminderBodyElement;
        new (): HTMLAddonReminderBodyElement;
    };
    interface HTMLAddonReminderFooterElement extends Components.AddonReminderFooter, HTMLStencilElement {
    }
    var HTMLAddonReminderFooterElement: {
        prototype: HTMLAddonReminderFooterElement;
        new (): HTMLAddonReminderFooterElement;
    };
    interface HTMLAddonReminderHeaderElement extends Components.AddonReminderHeader, HTMLStencilElement {
    }
    var HTMLAddonReminderHeaderElement: {
        prototype: HTMLAddonReminderHeaderElement;
        new (): HTMLAddonReminderHeaderElement;
    };
    interface HTMLContentWrapperElement extends Components.ContentWrapper, HTMLStencilElement {
    }
    var HTMLContentWrapperElement: {
        prototype: HTMLContentWrapperElement;
        new (): HTMLContentWrapperElement;
    };
    interface HTMLDescriptionInputElement extends Components.DescriptionInput, HTMLStencilElement {
    }
    var HTMLDescriptionInputElement: {
        prototype: HTMLDescriptionInputElement;
        new (): HTMLDescriptionInputElement;
    };
    interface HTMLInputButtonElement extends Components.InputButton, HTMLStencilElement {
    }
    var HTMLInputButtonElement: {
        prototype: HTMLInputButtonElement;
        new (): HTMLInputButtonElement;
    };
    interface HTMLInputSelectElement extends Components.InputSelect, HTMLStencilElement {
    }
    var HTMLInputSelectElement: {
        prototype: HTMLInputSelectElement;
        new (): HTMLInputSelectElement;
    };
    interface HTMLMyComponentElement extends Components.MyComponent, HTMLStencilElement {
    }
    var HTMLMyComponentElement: {
        prototype: HTMLMyComponentElement;
        new (): HTMLMyComponentElement;
    };
    interface HTMLSynbeeAvatarElement extends Components.SynbeeAvatar, HTMLStencilElement {
    }
    var HTMLSynbeeAvatarElement: {
        prototype: HTMLSynbeeAvatarElement;
        new (): HTMLSynbeeAvatarElement;
    };
    interface HTMLSynbeeBadgeErrorElement extends Components.SynbeeBadgeError, HTMLStencilElement {
    }
    var HTMLSynbeeBadgeErrorElement: {
        prototype: HTMLSynbeeBadgeErrorElement;
        new (): HTMLSynbeeBadgeErrorElement;
    };
    interface HTMLSynbeeOptionsMenuElement extends Components.SynbeeOptionsMenu, HTMLStencilElement {
    }
    var HTMLSynbeeOptionsMenuElement: {
        prototype: HTMLSynbeeOptionsMenuElement;
        new (): HTMLSynbeeOptionsMenuElement;
    };
    interface HTMLSynbeeSearchboxElement extends Components.SynbeeSearchbox, HTMLStencilElement {
    }
    var HTMLSynbeeSearchboxElement: {
        prototype: HTMLSynbeeSearchboxElement;
        new (): HTMLSynbeeSearchboxElement;
    };
    interface HTMLElementTagNameMap {
        "addon-reminder": HTMLAddonReminderElement;
        "addon-reminder-body": HTMLAddonReminderBodyElement;
        "addon-reminder-footer": HTMLAddonReminderFooterElement;
        "addon-reminder-header": HTMLAddonReminderHeaderElement;
        "content-wrapper": HTMLContentWrapperElement;
        "description-input": HTMLDescriptionInputElement;
        "input-button": HTMLInputButtonElement;
        "input-select": HTMLInputSelectElement;
        "my-component": HTMLMyComponentElement;
        "synbee-avatar": HTMLSynbeeAvatarElement;
        "synbee-badge-error": HTMLSynbeeBadgeErrorElement;
        "synbee-options-menu": HTMLSynbeeOptionsMenuElement;
        "synbee-searchbox": HTMLSynbeeSearchboxElement;
    }
}
declare namespace LocalJSX {
    interface AddonReminder {
        "onCollapseReminder"?: (event: CustomEvent<boolean>) => void;
        "onDeleteAddonReminderEmitter"?: (event: CustomEvent<boolean>) => void;
        "onEditOutputDataEmitter"?: (event: CustomEvent<AddonReminderStencilDTO>) => void;
        "onOutputDataEmitter"?: (event: CustomEvent<AddonReminderStencilDTO>) => void;
        "onReminderDoneSetter"?: (event: CustomEvent<boolean>) => void;
        "onUndoReminderOutEmitter"?: (event: CustomEvent<boolean>) => void;
        "reminderInfo"?: {
    name: string;
    description: string;
    hour: string;
    minute: string;
    duration: string;
    date: string;
  };
        "state"?: string;
        "userInfo"?: AuthorStencilDTO;
    }
    interface AddonReminderBody {
        "addonReminderInfoFromParent"?: {
    name: string;
    description: string;
    hour: string;
    minute: string;
    duration: string;
    date: string;
  };
        "date"?: string;
        "descriptionText"?: string;
        "duration"?: string;
        "hours"?: string;
        "minutes"?: string;
        "onAddonReminderInfoFromBodyEmitter"?: (event: CustomEvent<{description: string, hour:string, minute:string, duration:string, date: string}>) => void;
        "reminderDoneValue"?: boolean;
        "state"?: StateOfReminder;
    }
    interface AddonReminderFooter {
        "author"?: AuthorStencilDTO;
        "onCreateReminderEmitter"?: (event: CustomEvent<string>) => void;
        "onCreateReminderEmitterFromSubmit"?: (event: CustomEvent<AddonReminderStencilDTO>) => void;
        "onEditReminderEmitterFromSubmit"?: (event: CustomEvent<AddonReminderStencilDTO>) => void;
        "onErrorEmitter"?: (event: CustomEvent<boolean>) => void;
        "onReminderDoneEmitter"?: (event: CustomEvent<boolean>) => void;
        "onUndoReminderEmitter"?: (event: CustomEvent<boolean>) => void;
        "reminderAddonInfo"?: {name?: string, description?: string, hour?:string, minute?:string, duration?:string, date?: string};
        "reminderDoneProp"?: boolean;
        "state"?: StateOfReminder;
        "submitValidation"?: boolean;
    }
    interface AddonReminderHeader {
        "addonReminderTitle"?: string;
        "creationDate"?: string;
        "onAddonReminderInfoFromHeaderEmitter"?: (event: CustomEvent<string>) => void;
        "onChangeStatusToAddonReminder"?: (event: CustomEvent<string>) => void;
        "onCloseReminderEmitter"?: (event: CustomEvent<boolean>) => void;
        "state"?: StateOfReminder;
    }
    interface ContentWrapper {
    }
    interface DescriptionInput {
        "onTextEmitter"?: (event: CustomEvent<{ inputType: string, text: string }>) => void;
        "state"?: StateOfReminder;
        "text"?: string;
    }
    interface InputButton {
        "dark"?: boolean;
        "icon"?: boolean;
        "onToggleReminderEmitter"?: (event: CustomEvent<boolean>) => void;
        "size"?: string;
        "text"?: string;
    }
    interface InputSelect {
        "numberOfInputSelect"?: number;
        "onEmitOptionValue"?: (event: CustomEvent<{ value:string, type:string }>) => void;
        "onIsOpenEmit"?: (event: CustomEvent<{ inputNr: number, isOpen: boolean }>) => void;
        "optionLabels"?: string[];
        "text"?: string;
        "triggerIsOpen"?: boolean;
        "valueOfEdit"?: string;
    }
    interface MyComponent {
        /**
          * The first name
         */
        "first"?: string;
        /**
          * The last name
         */
        "last"?: string;
        /**
          * The middle name
         */
        "middle"?: string;
    }
    interface SynbeeAvatar {
    }
    interface SynbeeBadgeError {
    }
    interface SynbeeOptionsMenu {
        "menuOpened"?: boolean;
        "onChangeStatusEmitter"?: (event: CustomEvent<string>) => void;
        "state"?: StateOfReminder;
    }
    interface SynbeeSearchbox {
        "label"?: string;
        "onSelectValueSearched"?: (event: CustomEvent<string>) => void;
        "onStringSearched"?: (event: CustomEvent<string>) => void;
        "onValueChanged"?: (event: CustomEvent<string>) => void;
        "searchResult"?: string[];
        "type"?: string;
        "value"?: string;
    }
    interface IntrinsicElements {
        "addon-reminder": AddonReminder;
        "addon-reminder-body": AddonReminderBody;
        "addon-reminder-footer": AddonReminderFooter;
        "addon-reminder-header": AddonReminderHeader;
        "content-wrapper": ContentWrapper;
        "description-input": DescriptionInput;
        "input-button": InputButton;
        "input-select": InputSelect;
        "my-component": MyComponent;
        "synbee-avatar": SynbeeAvatar;
        "synbee-badge-error": SynbeeBadgeError;
        "synbee-options-menu": SynbeeOptionsMenu;
        "synbee-searchbox": SynbeeSearchbox;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "addon-reminder": LocalJSX.AddonReminder & JSXBase.HTMLAttributes<HTMLAddonReminderElement>;
            "addon-reminder-body": LocalJSX.AddonReminderBody & JSXBase.HTMLAttributes<HTMLAddonReminderBodyElement>;
            "addon-reminder-footer": LocalJSX.AddonReminderFooter & JSXBase.HTMLAttributes<HTMLAddonReminderFooterElement>;
            "addon-reminder-header": LocalJSX.AddonReminderHeader & JSXBase.HTMLAttributes<HTMLAddonReminderHeaderElement>;
            "content-wrapper": LocalJSX.ContentWrapper & JSXBase.HTMLAttributes<HTMLContentWrapperElement>;
            "description-input": LocalJSX.DescriptionInput & JSXBase.HTMLAttributes<HTMLDescriptionInputElement>;
            "input-button": LocalJSX.InputButton & JSXBase.HTMLAttributes<HTMLInputButtonElement>;
            "input-select": LocalJSX.InputSelect & JSXBase.HTMLAttributes<HTMLInputSelectElement>;
            "my-component": LocalJSX.MyComponent & JSXBase.HTMLAttributes<HTMLMyComponentElement>;
            "synbee-avatar": LocalJSX.SynbeeAvatar & JSXBase.HTMLAttributes<HTMLSynbeeAvatarElement>;
            "synbee-badge-error": LocalJSX.SynbeeBadgeError & JSXBase.HTMLAttributes<HTMLSynbeeBadgeErrorElement>;
            "synbee-options-menu": LocalJSX.SynbeeOptionsMenu & JSXBase.HTMLAttributes<HTMLSynbeeOptionsMenuElement>;
            "synbee-searchbox": LocalJSX.SynbeeSearchbox & JSXBase.HTMLAttributes<HTMLSynbeeSearchboxElement>;
        }
    }
}
