/* 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 { Size, Tags, Variant } from "./components/gd-tag-input/gd-tag-input";
import { HistoryItem, HistoryItemSelection } from "./components/gd-user-dashboard-list-item/user-dashboard-list-item";
import { DashboardListType, Datalist, HistoryItemTag } from "./components/gd-user-dashboard/gd-user-dashboard";
import { TagOptions } from "./components/gd-user-dashboard-bulk-tag-dialog/gd-user-dashboard-bulk-tag-dialog";
import { Export } from "./components/gd-user-dashboard-export-dialog/gd-user-dashboard-export-dialog";
import { Datalist as Datalist1 } from "./components/gd-user-dashboard/gd-user-dashboard";
import { rowVariant } from "./components/gd-user-dashboard-list-item/gd-user-dashboard-list-item";
import { Share } from "./components/gd-user-dashboard-share-dialog/gd-user-dashboard-share-dialog";
export namespace Components {
    interface GdTagInput {
        "addTags": (tags: Tags) => Promise<void>;
        /**
          * The element id
         */
        "controlId": string;
        /**
          * The initial value of the input
         */
        "defaultValue": Tags;
        /**
          * Disables the input / select / textarea from edit or copy.
         */
        "disabled": boolean;
        /**
          * Specifies how much of the input is shown.
         */
        "htmlSize": number;
        /**
          * The name applied to the input
         */
        "name": string;
        /**
          * The placeholder text for the input
         */
        "placeholder": string;
        /**
          * The value of the input is not editable.
         */
        "readOnly": boolean;
        /**
          * Used for making form control required
         */
        "required": boolean;
        /**
          * Used to change the size of inputs and labels respectively.
         */
        "size": Size;
        /**
          * change the style of the tags
         */
        "variant": Variant;
    }
    interface GdUserDashboard {
        /**
          * an active datalist
         */
        "activeDatalist": Datalist;
        /**
          * if the share as url functionality should be available or not
         */
        "canShareAsUrl": boolean;
        /**
          * dashboard list items
         */
        "items": Array<HistoryItem>;
        /**
          * an exposed method to change the visible list
          * @param listType
         */
        "setActiveList": (listType: DashboardListType) => Promise<void>;
        /**
          * whether to split the history items by showing date headers
         */
        "showDateHeaders": boolean;
        /**
          * a list of tags to show in the filter by dropdown
         */
        "tags": Array<HistoryItemTag>;
    }
    interface GdUserDashboardBulkTagDialog {
        /**
          * the history items to tag
         */
        "historyItemIds": string[];
        /**
          * when to show the dialog
         */
        "show": boolean;
    }
    interface GdUserDashboardExportDialog {
        /**
          * if the share as url functionality should be available or not
         */
        "canShareAsUrl": boolean;
        /**
          * the history items to export
         */
        "historyItemIds": string[];
        /**
          * when to show the dialog
         */
        "show": boolean;
        /**
          * if the user is allowed to share as url (canShareAsUrl), this is used to determine when to show the download export form
         */
        "showExportForm": boolean;
    }
    interface GdUserDashboardImportDatalistDialog {
        /**
          * the datalist to import history items from
         */
        "datalist": Datalist;
        /**
          * when to show the dialog
         */
        "show": boolean;
    }
    interface GdUserDashboardImportDialog {
        /**
          * when to show the dialog
         */
        "show": boolean;
    }
    interface GdUserDashboardListItem {
        /**
          * if item should show delete button
         */
        "allowDelete": boolean;
        /**
          * if item should show edit button
         */
        "allowEdit": boolean;
        /**
          * if item should show favorite button
         */
        "allowFavorite": boolean;
        /**
          * Is item odd or even entry in a list of items. Used to set alternating background colors for lists
         */
        "alternateRow": rowVariant;
        /**
          * if history item url is a valid url, clicking on it will immediately navigate to that url if set to false, the application will need to use the labelClick event to handle navigation
         */
        "followUrl": boolean;
        /**
          * the history item to render
         */
        "item": HistoryItem;
        /**
          * whether the item should be selectable (have a checkbox)
         */
        "selectable": boolean;
        /**
          * whether the item should be selected
         */
        "selected": boolean;
        /**
          * if item should show who shared it
         */
        "showSharedBy": boolean;
    }
    interface GdUserDashboardShareDialog {
        /**
          * the history items to share
         */
        "historyItemIds": string[];
        /**
          * when to show the dialog
         */
        "show": boolean;
    }
}
declare global {
    interface HTMLGdTagInputElement extends Components.GdTagInput, HTMLStencilElement {
    }
    var HTMLGdTagInputElement: {
        prototype: HTMLGdTagInputElement;
        new (): HTMLGdTagInputElement;
    };
    interface HTMLGdUserDashboardElement extends Components.GdUserDashboard, HTMLStencilElement {
    }
    var HTMLGdUserDashboardElement: {
        prototype: HTMLGdUserDashboardElement;
        new (): HTMLGdUserDashboardElement;
    };
    interface HTMLGdUserDashboardBulkTagDialogElement extends Components.GdUserDashboardBulkTagDialog, HTMLStencilElement {
    }
    var HTMLGdUserDashboardBulkTagDialogElement: {
        prototype: HTMLGdUserDashboardBulkTagDialogElement;
        new (): HTMLGdUserDashboardBulkTagDialogElement;
    };
    interface HTMLGdUserDashboardExportDialogElement extends Components.GdUserDashboardExportDialog, HTMLStencilElement {
    }
    var HTMLGdUserDashboardExportDialogElement: {
        prototype: HTMLGdUserDashboardExportDialogElement;
        new (): HTMLGdUserDashboardExportDialogElement;
    };
    interface HTMLGdUserDashboardImportDatalistDialogElement extends Components.GdUserDashboardImportDatalistDialog, HTMLStencilElement {
    }
    var HTMLGdUserDashboardImportDatalistDialogElement: {
        prototype: HTMLGdUserDashboardImportDatalistDialogElement;
        new (): HTMLGdUserDashboardImportDatalistDialogElement;
    };
    interface HTMLGdUserDashboardImportDialogElement extends Components.GdUserDashboardImportDialog, HTMLStencilElement {
    }
    var HTMLGdUserDashboardImportDialogElement: {
        prototype: HTMLGdUserDashboardImportDialogElement;
        new (): HTMLGdUserDashboardImportDialogElement;
    };
    interface HTMLGdUserDashboardListItemElement extends Components.GdUserDashboardListItem, HTMLStencilElement {
    }
    var HTMLGdUserDashboardListItemElement: {
        prototype: HTMLGdUserDashboardListItemElement;
        new (): HTMLGdUserDashboardListItemElement;
    };
    interface HTMLGdUserDashboardShareDialogElement extends Components.GdUserDashboardShareDialog, HTMLStencilElement {
    }
    var HTMLGdUserDashboardShareDialogElement: {
        prototype: HTMLGdUserDashboardShareDialogElement;
        new (): HTMLGdUserDashboardShareDialogElement;
    };
    interface HTMLElementTagNameMap {
        "gd-tag-input": HTMLGdTagInputElement;
        "gd-user-dashboard": HTMLGdUserDashboardElement;
        "gd-user-dashboard-bulk-tag-dialog": HTMLGdUserDashboardBulkTagDialogElement;
        "gd-user-dashboard-export-dialog": HTMLGdUserDashboardExportDialogElement;
        "gd-user-dashboard-import-datalist-dialog": HTMLGdUserDashboardImportDatalistDialogElement;
        "gd-user-dashboard-import-dialog": HTMLGdUserDashboardImportDialogElement;
        "gd-user-dashboard-list-item": HTMLGdUserDashboardListItemElement;
        "gd-user-dashboard-share-dialog": HTMLGdUserDashboardShareDialogElement;
    }
}
declare namespace LocalJSX {
    interface GdTagInput {
        /**
          * The element id
         */
        "controlId"?: string;
        /**
          * The initial value of the input
         */
        "defaultValue"?: Tags;
        /**
          * Disables the input / select / textarea from edit or copy.
         */
        "disabled"?: boolean;
        /**
          * Specifies how much of the input is shown.
         */
        "htmlSize"?: number;
        /**
          * The name applied to the input
         */
        "name"?: string;
        /**
          * The event is emitted when the tags change
         */
        "onTagsChange"?: (event: CustomEvent<Tags>) => void;
        /**
          * The placeholder text for the input
         */
        "placeholder"?: string;
        /**
          * The value of the input is not editable.
         */
        "readOnly"?: boolean;
        /**
          * Used for making form control required
         */
        "required"?: boolean;
        /**
          * Used to change the size of inputs and labels respectively.
         */
        "size"?: Size;
        /**
          * change the style of the tags
         */
        "variant"?: Variant;
    }
    interface GdUserDashboard {
        /**
          * an active datalist
         */
        "activeDatalist"?: Datalist;
        /**
          * if the share as url functionality should be available or not
         */
        "canShareAsUrl"?: boolean;
        /**
          * dashboard list items
         */
        "items"?: Array<HistoryItem>;
        /**
          * an event that is fired when the list changes, would be a good time to refresh the list
         */
        "onActiveListChanged"?: (event: CustomEvent<string>) => void;
        /**
          * an event triggered when the user clicks cancel on the datalist import dialog
         */
        "onCancelDatalistImport"?: (event: CustomEvent<void>) => void;
        /**
          * an event that is triggered to inform the application that one or more history items need to be deleted
         */
        "onDeleteHistoryItems"?: (event: CustomEvent<string[]>) => void;
        /**
          * an event that is fired when the user selects a tag to filter by
         */
        "onFilterChanged"?: (event: CustomEvent<string>) => void;
        /**
          * an event that is triggered to inform the application that a history item needs to be updated
         */
        "onSaveHistoryItem"?: (event: CustomEvent<HistoryItem>) => void;
        /**
          * used by the application to save changes that have been made to multiple history items
         */
        "onUpdateHistoryItems"?: (event: CustomEvent<HistoryItem[]>) => void;
        /**
          * whether to split the history items by showing date headers
         */
        "showDateHeaders"?: boolean;
        /**
          * a list of tags to show in the filter by dropdown
         */
        "tags"?: Array<HistoryItemTag>;
    }
    interface GdUserDashboardBulkTagDialog {
        /**
          * the history items to tag
         */
        "historyItemIds"?: string[];
        /**
          * event emitted to tag items
         */
        "onAddTags"?: (event: CustomEvent<TagOptions>) => void;
        /**
          * event emitted when the dialog is closed
         */
        "onClosed"?: (event: CustomEvent<void>) => void;
        /**
          * when to show the dialog
         */
        "show"?: boolean;
    }
    interface GdUserDashboardExportDialog {
        /**
          * if the share as url functionality should be available or not
         */
        "canShareAsUrl"?: boolean;
        /**
          * the history items to export
         */
        "historyItemIds"?: string[];
        /**
          * event emitted when the dialog is closed
         */
        "onClosed"?: (event: CustomEvent<void>) => void;
        /**
          * event emitted to export items
         */
        "onExport"?: (event: CustomEvent<Export>) => void;
        /**
          * event emitted when user chooses to share items instead of export
         */
        "onShare"?: (event: CustomEvent<void>) => void;
        /**
          * when to show the dialog
         */
        "show"?: boolean;
        /**
          * if the user is allowed to share as url (canShareAsUrl), this is used to determine when to show the download export form
         */
        "showExportForm"?: boolean;
    }
    interface GdUserDashboardImportDatalistDialog {
        /**
          * the datalist to import history items from
         */
        "datalist"?: Datalist;
        /**
          * event emitted when the dialog is closed
         */
        "onClosed"?: (event: CustomEvent<void>) => void;
        /**
          * event emitted to import items
         */
        "onImport"?: (event: CustomEvent<Array<HistoryItem>>) => void;
        /**
          * when to show the dialog
         */
        "show"?: boolean;
    }
    interface GdUserDashboardImportDialog {
        /**
          * event emitted when the dialog is closed
         */
        "onClosed"?: (event: CustomEvent<void>) => void;
        /**
          * event emitted to import items
         */
        "onImport"?: (event: CustomEvent<Array<HistoryItem>>) => void;
        /**
          * when to show the dialog
         */
        "show"?: boolean;
    }
    interface GdUserDashboardListItem {
        /**
          * if item should show delete button
         */
        "allowDelete"?: boolean;
        /**
          * if item should show edit button
         */
        "allowEdit"?: boolean;
        /**
          * if item should show favorite button
         */
        "allowFavorite"?: boolean;
        /**
          * Is item odd or even entry in a list of items. Used to set alternating background colors for lists
         */
        "alternateRow"?: rowVariant;
        /**
          * if history item url is a valid url, clicking on it will immediately navigate to that url if set to false, the application will need to use the labelClick event to handle navigation
         */
        "followUrl"?: boolean;
        /**
          * the history item to render
         */
        "item"?: HistoryItem;
        /**
          * used by the application to delete the history item
         */
        "onDeleteItem"?: (event: CustomEvent<HistoryItem>) => void;
        /**
          * used by the dashboard to handle editing a history item
         */
        "onEditItem"?: (event: CustomEvent<HistoryItem>) => void;
        /**
          * notifies the dashboard that this item has been selected
         */
        "onItemSelected"?: (event: CustomEvent<HistoryItemSelection>) => void;
        /**
          * the application can use the labelClick handler to customize user dashboard item clicks ex. if application stores JSON in history item URL field that represents a dialog to display instead of a page
         */
        "onLabelClick"?: (event: CustomEvent<HistoryItem>) => void;
        /**
          * used by the application to save changes that have been made to the history item
         */
        "onUpdateItem"?: (event: CustomEvent<HistoryItem>) => void;
        /**
          * whether the item should be selectable (have a checkbox)
         */
        "selectable"?: boolean;
        /**
          * whether the item should be selected
         */
        "selected"?: boolean;
        /**
          * if item should show who shared it
         */
        "showSharedBy"?: boolean;
    }
    interface GdUserDashboardShareDialog {
        /**
          * the history items to share
         */
        "historyItemIds"?: string[];
        /**
          * event emitted when the dialog is closed
         */
        "onClosed"?: (event: CustomEvent<void>) => void;
        /**
          * event emitted to share items
         */
        "onShare"?: (event: CustomEvent<Share>) => void;
        /**
          * when to show the dialog
         */
        "show"?: boolean;
    }
    interface IntrinsicElements {
        "gd-tag-input": GdTagInput;
        "gd-user-dashboard": GdUserDashboard;
        "gd-user-dashboard-bulk-tag-dialog": GdUserDashboardBulkTagDialog;
        "gd-user-dashboard-export-dialog": GdUserDashboardExportDialog;
        "gd-user-dashboard-import-datalist-dialog": GdUserDashboardImportDatalistDialog;
        "gd-user-dashboard-import-dialog": GdUserDashboardImportDialog;
        "gd-user-dashboard-list-item": GdUserDashboardListItem;
        "gd-user-dashboard-share-dialog": GdUserDashboardShareDialog;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "gd-tag-input": LocalJSX.GdTagInput & JSXBase.HTMLAttributes<HTMLGdTagInputElement>;
            "gd-user-dashboard": LocalJSX.GdUserDashboard & JSXBase.HTMLAttributes<HTMLGdUserDashboardElement>;
            "gd-user-dashboard-bulk-tag-dialog": LocalJSX.GdUserDashboardBulkTagDialog & JSXBase.HTMLAttributes<HTMLGdUserDashboardBulkTagDialogElement>;
            "gd-user-dashboard-export-dialog": LocalJSX.GdUserDashboardExportDialog & JSXBase.HTMLAttributes<HTMLGdUserDashboardExportDialogElement>;
            "gd-user-dashboard-import-datalist-dialog": LocalJSX.GdUserDashboardImportDatalistDialog & JSXBase.HTMLAttributes<HTMLGdUserDashboardImportDatalistDialogElement>;
            "gd-user-dashboard-import-dialog": LocalJSX.GdUserDashboardImportDialog & JSXBase.HTMLAttributes<HTMLGdUserDashboardImportDialogElement>;
            "gd-user-dashboard-list-item": LocalJSX.GdUserDashboardListItem & JSXBase.HTMLAttributes<HTMLGdUserDashboardListItemElement>;
            "gd-user-dashboard-share-dialog": LocalJSX.GdUserDashboardShareDialog & JSXBase.HTMLAttributes<HTMLGdUserDashboardShareDialogElement>;
        }
    }
}
