/* 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 { PropsFactory } from "./components/playground/playground.types";
import { JsonDocs, JsonDocsComponent, JsonDocsTag } from "./stencil-public-runtime";
import { MatchResults } from "@limetech/stencil-router";
import { KompendiumData, MenuItem, TypeDescription } from "./types";
import { ProplistItem } from "./components/proplist/proplist";
export { PropsFactory } from "./components/playground/playground.types";
export { JsonDocs, JsonDocsComponent, JsonDocsTag } from "./stencil-public-runtime";
export { MatchResults } from "@limetech/stencil-router";
export { KompendiumData, MenuItem, TypeDescription } from "./types";
export { ProplistItem } from "./components/proplist/proplist";
export namespace Components {
    interface KompendiumApp {
        /**
          * Factory for creating props for example components
         */
        "examplePropsFactory"?: PropsFactory;
        /**
          * Path to `kompendium.json`
          * @default '/kompendium.json'
         */
        "path": string;
    }
    /**
     * @exampleComponent kompendium-example-code
     */
    interface KompendiumCode {
        /**
          * The language of the code
         */
        "language": string;
    }
    interface KompendiumComponent {
        /**
          * The generated documentation data
         */
        "docs": JsonDocs;
        /**
          * Factory for creating props for example components
         */
        "examplePropsFactory": PropsFactory;
        /**
          * Matched route parameters
         */
        "match": MatchResults;
        /**
          * Component schemas
         */
        "schemas": Array<Record<string, any>>;
    }
    /**
     * @private 
     */
    interface KompendiumDarkmodeSwitch {
    }
    interface KompendiumDebug {
        /**
          * The generated documentation data
         */
        "docs": JsonDocs;
        /**
          * Factory for creating props for example components
          * @returns props
          * @default () => ({})
         */
        "examplePropsFactory"?: PropsFactory;
        /**
          * Matched route parameters
         */
        "match": MatchResults;
        /**
          * Component schemas
         */
        "schemas": Array<Record<string, any>>;
    }
    interface KompendiumExampleCode {
    }
    /**
     * This is a simple example of how the `kompendium-markdown` component is used
     * @sourceFile markdown-example.ts
     */
    interface KompendiumExampleMarkdown {
    }
    interface KompendiumGuide {
        "data": KompendiumData;
    }
    /**
     * This component renders markdown
     * @exampleComponent kompendium-example-markdown
     */
    interface KompendiumMarkdown {
        /**
          * The text to render
         */
        "text": string;
    }
    /**
     * @private 
     */
    interface KompendiumNavigation {
        /**
          * Title to display at the top of the navigation
         */
        "header": string;
        /**
          * Index containing searchable documents
         */
        "index": any;
        /**
          * Optional logo to display instead of the header
         */
        "logo": string;
        /**
          * The menu to display
         */
        "menu": MenuItem[];
    }
    interface KompendiumPlayground {
        /**
          * The component to display
         */
        "component": JsonDocsComponent;
        /**
          * Factory for creating props for example components
          * @returns props
          * @default () => ({})
         */
        "propsFactory"?: PropsFactory;
        /**
          * Schema for the component
         */
        "schema": Record<string, any>;
    }
    interface KompendiumProplist {
        /**
          * List of properties
         */
        "items": ProplistItem[];
    }
    interface KompendiumSearch {
        /**
          * Index containing searchable documents
         */
        "index": any;
    }
    /**
     * asd
     */
    interface KompendiumTaglist {
        /**
          * Set to `true` if the list should be rendered in compact mode
          * @default false
         */
        "compact": boolean;
        /**
          * List of tags to render
         */
        "tags": JsonDocsTag[];
    }
    interface KompendiumType {
        /**
          * Matched route parameters
         */
        "match": MatchResults;
        "types": TypeDescription[];
    }
}
declare global {
    interface HTMLKompendiumAppElement extends Components.KompendiumApp, HTMLStencilElement {
    }
    var HTMLKompendiumAppElement: {
        prototype: HTMLKompendiumAppElement;
        new (): HTMLKompendiumAppElement;
    };
    /**
     * @exampleComponent kompendium-example-code
     */
    interface HTMLKompendiumCodeElement extends Components.KompendiumCode, HTMLStencilElement {
    }
    var HTMLKompendiumCodeElement: {
        prototype: HTMLKompendiumCodeElement;
        new (): HTMLKompendiumCodeElement;
    };
    interface HTMLKompendiumComponentElement extends Components.KompendiumComponent, HTMLStencilElement {
    }
    var HTMLKompendiumComponentElement: {
        prototype: HTMLKompendiumComponentElement;
        new (): HTMLKompendiumComponentElement;
    };
    /**
     * @private 
     */
    interface HTMLKompendiumDarkmodeSwitchElement extends Components.KompendiumDarkmodeSwitch, HTMLStencilElement {
    }
    var HTMLKompendiumDarkmodeSwitchElement: {
        prototype: HTMLKompendiumDarkmodeSwitchElement;
        new (): HTMLKompendiumDarkmodeSwitchElement;
    };
    interface HTMLKompendiumDebugElement extends Components.KompendiumDebug, HTMLStencilElement {
    }
    var HTMLKompendiumDebugElement: {
        prototype: HTMLKompendiumDebugElement;
        new (): HTMLKompendiumDebugElement;
    };
    interface HTMLKompendiumExampleCodeElement extends Components.KompendiumExampleCode, HTMLStencilElement {
    }
    var HTMLKompendiumExampleCodeElement: {
        prototype: HTMLKompendiumExampleCodeElement;
        new (): HTMLKompendiumExampleCodeElement;
    };
    /**
     * This is a simple example of how the `kompendium-markdown` component is used
     * @sourceFile markdown-example.ts
     */
    interface HTMLKompendiumExampleMarkdownElement extends Components.KompendiumExampleMarkdown, HTMLStencilElement {
    }
    var HTMLKompendiumExampleMarkdownElement: {
        prototype: HTMLKompendiumExampleMarkdownElement;
        new (): HTMLKompendiumExampleMarkdownElement;
    };
    interface HTMLKompendiumGuideElement extends Components.KompendiumGuide, HTMLStencilElement {
    }
    var HTMLKompendiumGuideElement: {
        prototype: HTMLKompendiumGuideElement;
        new (): HTMLKompendiumGuideElement;
    };
    /**
     * This component renders markdown
     * @exampleComponent kompendium-example-markdown
     */
    interface HTMLKompendiumMarkdownElement extends Components.KompendiumMarkdown, HTMLStencilElement {
    }
    var HTMLKompendiumMarkdownElement: {
        prototype: HTMLKompendiumMarkdownElement;
        new (): HTMLKompendiumMarkdownElement;
    };
    /**
     * @private 
     */
    interface HTMLKompendiumNavigationElement extends Components.KompendiumNavigation, HTMLStencilElement {
    }
    var HTMLKompendiumNavigationElement: {
        prototype: HTMLKompendiumNavigationElement;
        new (): HTMLKompendiumNavigationElement;
    };
    interface HTMLKompendiumPlaygroundElement extends Components.KompendiumPlayground, HTMLStencilElement {
    }
    var HTMLKompendiumPlaygroundElement: {
        prototype: HTMLKompendiumPlaygroundElement;
        new (): HTMLKompendiumPlaygroundElement;
    };
    interface HTMLKompendiumProplistElement extends Components.KompendiumProplist, HTMLStencilElement {
    }
    var HTMLKompendiumProplistElement: {
        prototype: HTMLKompendiumProplistElement;
        new (): HTMLKompendiumProplistElement;
    };
    interface HTMLKompendiumSearchElement extends Components.KompendiumSearch, HTMLStencilElement {
    }
    var HTMLKompendiumSearchElement: {
        prototype: HTMLKompendiumSearchElement;
        new (): HTMLKompendiumSearchElement;
    };
    /**
     * asd
     */
    interface HTMLKompendiumTaglistElement extends Components.KompendiumTaglist, HTMLStencilElement {
    }
    var HTMLKompendiumTaglistElement: {
        prototype: HTMLKompendiumTaglistElement;
        new (): HTMLKompendiumTaglistElement;
    };
    interface HTMLKompendiumTypeElement extends Components.KompendiumType, HTMLStencilElement {
    }
    var HTMLKompendiumTypeElement: {
        prototype: HTMLKompendiumTypeElement;
        new (): HTMLKompendiumTypeElement;
    };
    interface HTMLElementTagNameMap {
        "kompendium-app": HTMLKompendiumAppElement;
        "kompendium-code": HTMLKompendiumCodeElement;
        "kompendium-component": HTMLKompendiumComponentElement;
        "kompendium-darkmode-switch": HTMLKompendiumDarkmodeSwitchElement;
        "kompendium-debug": HTMLKompendiumDebugElement;
        "kompendium-example-code": HTMLKompendiumExampleCodeElement;
        "kompendium-example-markdown": HTMLKompendiumExampleMarkdownElement;
        "kompendium-guide": HTMLKompendiumGuideElement;
        "kompendium-markdown": HTMLKompendiumMarkdownElement;
        "kompendium-navigation": HTMLKompendiumNavigationElement;
        "kompendium-playground": HTMLKompendiumPlaygroundElement;
        "kompendium-proplist": HTMLKompendiumProplistElement;
        "kompendium-search": HTMLKompendiumSearchElement;
        "kompendium-taglist": HTMLKompendiumTaglistElement;
        "kompendium-type": HTMLKompendiumTypeElement;
    }
}
declare namespace LocalJSX {
    interface KompendiumApp {
        /**
          * Factory for creating props for example components
         */
        "examplePropsFactory"?: PropsFactory;
        /**
          * Path to `kompendium.json`
          * @default '/kompendium.json'
         */
        "path"?: string;
    }
    /**
     * @exampleComponent kompendium-example-code
     */
    interface KompendiumCode {
        /**
          * The language of the code
         */
        "language"?: string;
    }
    interface KompendiumComponent {
        /**
          * The generated documentation data
         */
        "docs"?: JsonDocs;
        /**
          * Factory for creating props for example components
         */
        "examplePropsFactory"?: PropsFactory;
        /**
          * Matched route parameters
         */
        "match"?: MatchResults;
        /**
          * Component schemas
         */
        "schemas"?: Array<Record<string, any>>;
    }
    /**
     * @private 
     */
    interface KompendiumDarkmodeSwitch {
    }
    interface KompendiumDebug {
        /**
          * The generated documentation data
         */
        "docs"?: JsonDocs;
        /**
          * Factory for creating props for example components
          * @returns props
          * @default () => ({})
         */
        "examplePropsFactory"?: PropsFactory;
        /**
          * Matched route parameters
         */
        "match"?: MatchResults;
        /**
          * Component schemas
         */
        "schemas"?: Array<Record<string, any>>;
    }
    interface KompendiumExampleCode {
    }
    /**
     * This is a simple example of how the `kompendium-markdown` component is used
     * @sourceFile markdown-example.ts
     */
    interface KompendiumExampleMarkdown {
    }
    interface KompendiumGuide {
        "data"?: KompendiumData;
    }
    /**
     * This component renders markdown
     * @exampleComponent kompendium-example-markdown
     */
    interface KompendiumMarkdown {
        /**
          * The text to render
         */
        "text"?: string;
    }
    /**
     * @private 
     */
    interface KompendiumNavigation {
        /**
          * Title to display at the top of the navigation
         */
        "header"?: string;
        /**
          * Index containing searchable documents
         */
        "index"?: any;
        /**
          * Optional logo to display instead of the header
         */
        "logo"?: string;
        /**
          * The menu to display
         */
        "menu"?: MenuItem[];
    }
    interface KompendiumPlayground {
        /**
          * The component to display
         */
        "component"?: JsonDocsComponent;
        /**
          * Factory for creating props for example components
          * @returns props
          * @default () => ({})
         */
        "propsFactory"?: PropsFactory;
        /**
          * Schema for the component
         */
        "schema"?: Record<string, any>;
    }
    interface KompendiumProplist {
        /**
          * List of properties
         */
        "items"?: ProplistItem[];
    }
    interface KompendiumSearch {
        /**
          * Index containing searchable documents
         */
        "index"?: any;
    }
    /**
     * asd
     */
    interface KompendiumTaglist {
        /**
          * Set to `true` if the list should be rendered in compact mode
          * @default false
         */
        "compact"?: boolean;
        /**
          * List of tags to render
         */
        "tags"?: JsonDocsTag[];
    }
    interface KompendiumType {
        /**
          * Matched route parameters
         */
        "match"?: MatchResults;
        "types"?: TypeDescription[];
    }
    interface IntrinsicElements {
        "kompendium-app": KompendiumApp;
        "kompendium-code": KompendiumCode;
        "kompendium-component": KompendiumComponent;
        "kompendium-darkmode-switch": KompendiumDarkmodeSwitch;
        "kompendium-debug": KompendiumDebug;
        "kompendium-example-code": KompendiumExampleCode;
        "kompendium-example-markdown": KompendiumExampleMarkdown;
        "kompendium-guide": KompendiumGuide;
        "kompendium-markdown": KompendiumMarkdown;
        "kompendium-navigation": KompendiumNavigation;
        "kompendium-playground": KompendiumPlayground;
        "kompendium-proplist": KompendiumProplist;
        "kompendium-search": KompendiumSearch;
        "kompendium-taglist": KompendiumTaglist;
        "kompendium-type": KompendiumType;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "kompendium-app": LocalJSX.KompendiumApp & JSXBase.HTMLAttributes<HTMLKompendiumAppElement>;
            /**
             * @exampleComponent kompendium-example-code
             */
            "kompendium-code": LocalJSX.KompendiumCode & JSXBase.HTMLAttributes<HTMLKompendiumCodeElement>;
            "kompendium-component": LocalJSX.KompendiumComponent & JSXBase.HTMLAttributes<HTMLKompendiumComponentElement>;
            /**
             * @private 
             */
            "kompendium-darkmode-switch": LocalJSX.KompendiumDarkmodeSwitch & JSXBase.HTMLAttributes<HTMLKompendiumDarkmodeSwitchElement>;
            "kompendium-debug": LocalJSX.KompendiumDebug & JSXBase.HTMLAttributes<HTMLKompendiumDebugElement>;
            "kompendium-example-code": LocalJSX.KompendiumExampleCode & JSXBase.HTMLAttributes<HTMLKompendiumExampleCodeElement>;
            /**
             * This is a simple example of how the `kompendium-markdown` component is used
             * @sourceFile markdown-example.ts
             */
            "kompendium-example-markdown": LocalJSX.KompendiumExampleMarkdown & JSXBase.HTMLAttributes<HTMLKompendiumExampleMarkdownElement>;
            "kompendium-guide": LocalJSX.KompendiumGuide & JSXBase.HTMLAttributes<HTMLKompendiumGuideElement>;
            /**
             * This component renders markdown
             * @exampleComponent kompendium-example-markdown
             */
            "kompendium-markdown": LocalJSX.KompendiumMarkdown & JSXBase.HTMLAttributes<HTMLKompendiumMarkdownElement>;
            /**
             * @private 
             */
            "kompendium-navigation": LocalJSX.KompendiumNavigation & JSXBase.HTMLAttributes<HTMLKompendiumNavigationElement>;
            "kompendium-playground": LocalJSX.KompendiumPlayground & JSXBase.HTMLAttributes<HTMLKompendiumPlaygroundElement>;
            "kompendium-proplist": LocalJSX.KompendiumProplist & JSXBase.HTMLAttributes<HTMLKompendiumProplistElement>;
            "kompendium-search": LocalJSX.KompendiumSearch & JSXBase.HTMLAttributes<HTMLKompendiumSearchElement>;
            /**
             * asd
             */
            "kompendium-taglist": LocalJSX.KompendiumTaglist & JSXBase.HTMLAttributes<HTMLKompendiumTaglistElement>;
            "kompendium-type": LocalJSX.KompendiumType & JSXBase.HTMLAttributes<HTMLKompendiumTypeElement>;
        }
    }
}
