/* 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';
import {
  AuthorizationCreatableSafe,
} from './components/model';
import {
  Authorization,
} from '@cardfunc/model';
import {
  Token,
} from 'authly';

export namespace Components {
  interface CardfuncElement {
    'apiKey': string;
    'state': "failed" | "succeeded" | "processing" | "created";
    'submit': (authorization: AuthorizationCreatableSafe) => Promise<string | Authorization>;
    'value'?: AuthorizationCreatableSafe;
  }
}

declare global {


  interface HTMLCardfuncElementElement extends Components.CardfuncElement, HTMLStencilElement {}
  var HTMLCardfuncElementElement: {
    prototype: HTMLCardfuncElementElement;
    new (): HTMLCardfuncElementElement;
  };
  interface HTMLElementTagNameMap {
    'cardfunc-element': HTMLCardfuncElementElement;
  }
}

declare namespace LocalJSX {
  interface CardfuncElement {
    'apiKey'?: string;
    'onChanged'?: (event: CustomEvent<Authorization>) => void;
    'state'?: "failed" | "succeeded" | "processing" | "created";
    'value'?: AuthorizationCreatableSafe;
  }

  interface IntrinsicElements {
    'cardfunc-element': CardfuncElement;
  }
}

export { LocalJSX as JSX };


declare module "@stencil/core" {
  export namespace JSX {
    interface IntrinsicElements {
      'cardfunc-element': LocalJSX.CardfuncElement & JSXBase.HTMLAttributes<HTMLCardfuncElementElement>;
    }
  }
}


