import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core';
import { Components } from '@brucestafflink/ionic-core';
import type { AccordionGroupChangeEventDetail as IIonAccordionGroupAccordionGroupChangeEventDetail } from '@brucestafflink/ionic-core';
import type { OverlayEventDetail as IIonActionSheetOverlayEventDetail } from '@brucestafflink/ionic-core';
import type { OverlayEventDetail as IIonAlertOverlayEventDetail } from '@brucestafflink/ionic-core';
import type { BreadcrumbCollapsedClickEventDetail as IIonBreadcrumbsBreadcrumbCollapsedClickEventDetail } from '@brucestafflink/ionic-core';
import type { CheckboxChangeEventDetail as IIonCheckboxCheckboxChangeEventDetail } from '@brucestafflink/ionic-core';
import type { ScrollBaseDetail as IIonContentScrollBaseDetail } from '@brucestafflink/ionic-core';
import type { ScrollDetail as IIonContentScrollDetail } from '@brucestafflink/ionic-core';
import type { DatetimeChangeEventDetail as IIonDatetimeDatetimeChangeEventDetail } from '@brucestafflink/ionic-core';
import type { InputInputEventDetail as IIonInputInputInputEventDetail } from '@brucestafflink/ionic-core';
import type { InputChangeEventDetail as IIonInputInputChangeEventDetail } from '@brucestafflink/ionic-core';
import type { OverlayEventDetail as IIonLoadingOverlayEventDetail } from '@brucestafflink/ionic-core';
import type { OverlayEventDetail as IIonPickerOverlayEventDetail } from '@brucestafflink/ionic-core';
import type { RadioGroupChangeEventDetail as IIonRadioGroupRadioGroupChangeEventDetail } from '@brucestafflink/ionic-core';
import type { RangeChangeEventDetail as IIonRangeRangeChangeEventDetail } from '@brucestafflink/ionic-core';
import type { RangeKnobMoveStartEventDetail as IIonRangeRangeKnobMoveStartEventDetail } from '@brucestafflink/ionic-core';
import type { RangeKnobMoveEndEventDetail as IIonRangeRangeKnobMoveEndEventDetail } from '@brucestafflink/ionic-core';
import type { RefresherEventDetail as IIonRefresherRefresherEventDetail } from '@brucestafflink/ionic-core';
import type { ItemReorderEventDetail as IIonReorderGroupItemReorderEventDetail } from '@brucestafflink/ionic-core';
import type { SearchbarInputEventDetail as IIonSearchbarSearchbarInputEventDetail } from '@brucestafflink/ionic-core';
import type { SearchbarChangeEventDetail as IIonSearchbarSearchbarChangeEventDetail } from '@brucestafflink/ionic-core';
import type { SegmentChangeEventDetail as IIonSegmentSegmentChangeEventDetail } from '@brucestafflink/ionic-core';
import type { SelectChangeEventDetail as IIonSelectSelectChangeEventDetail } from '@brucestafflink/ionic-core';
import type { TextareaChangeEventDetail as IIonTextareaTextareaChangeEventDetail } from '@brucestafflink/ionic-core';
import type { TextareaInputEventDetail as IIonTextareaTextareaInputEventDetail } from '@brucestafflink/ionic-core';
import type { OverlayEventDetail as IIonToastOverlayEventDetail } from '@brucestafflink/ionic-core';
import type { ToggleChangeEventDetail as IIonToggleToggleChangeEventDetail } from '@brucestafflink/ionic-core';
import * as i0 from "@angular/core";
export declare class IonAccordion {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonAccordion, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonAccordion, "ion-accordion", never, { "disabled": "disabled"; "mode": "mode"; "readonly": "readonly"; "toggleIcon": "toggleIcon"; "toggleIconSlot": "toggleIconSlot"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonAccordion extends Components.IonAccordion {
}
export declare class IonAccordionGroup {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonAccordionGroup, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonAccordionGroup, "ion-accordion-group", never, { "animated": "animated"; "disabled": "disabled"; "expand": "expand"; "mode": "mode"; "multiple": "multiple"; "readonly": "readonly"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonAccordionGroup extends Components.IonAccordionGroup {
    /**
     * Emitted when the value property has changed
  as a result of a user action such as a click.
  This event will not emit when programmatically setting
  the value property.
     */
    ionChange: EventEmitter<CustomEvent<IIonAccordionGroupAccordionGroupChangeEventDetail>>;
}
export declare class IonActionSheet {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonActionSheet, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonActionSheet, "ion-action-sheet", never, { "animated": "animated"; "backdropDismiss": "backdropDismiss"; "buttons": "buttons"; "cssClass": "cssClass"; "enterAnimation": "enterAnimation"; "header": "header"; "htmlAttributes": "htmlAttributes"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "leaveAnimation": "leaveAnimation"; "mode": "mode"; "subHeader": "subHeader"; "translucent": "translucent"; "trigger": "trigger"; }, {}, never, ["*"], false>;
}
export declare interface IonActionSheet extends Components.IonActionSheet {
    /**
     * Emitted after the action sheet has presented.
     */
    ionActionSheetDidPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the action sheet has presented.
     */
    ionActionSheetWillPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the action sheet has dismissed.
     */
    ionActionSheetWillDismiss: EventEmitter<CustomEvent<IIonActionSheetOverlayEventDetail>>;
    /**
     * Emitted after the action sheet has dismissed.
     */
    ionActionSheetDidDismiss: EventEmitter<CustomEvent<IIonActionSheetOverlayEventDetail>>;
    /**
     * Emitted after the action sheet has presented.
  Shorthand for ionActionSheetWillDismiss.
     */
    didPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the action sheet has presented.
  Shorthand for ionActionSheetWillPresent.
     */
    willPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the action sheet has dismissed.
  Shorthand for ionActionSheetWillDismiss.
     */
    willDismiss: EventEmitter<CustomEvent<IIonActionSheetOverlayEventDetail>>;
    /**
     * Emitted after the action sheet has dismissed.
  Shorthand for ionActionSheetDidDismiss.
     */
    didDismiss: EventEmitter<CustomEvent<IIonActionSheetOverlayEventDetail>>;
}
export declare class IonAlert {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonAlert, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonAlert, "ion-alert", never, { "animated": "animated"; "backdropDismiss": "backdropDismiss"; "buttons": "buttons"; "cssClass": "cssClass"; "enterAnimation": "enterAnimation"; "header": "header"; "htmlAttributes": "htmlAttributes"; "inputs": "inputs"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "leaveAnimation": "leaveAnimation"; "message": "message"; "mode": "mode"; "subHeader": "subHeader"; "translucent": "translucent"; "trigger": "trigger"; }, {}, never, ["*"], false>;
}
export declare interface IonAlert extends Components.IonAlert {
    /**
     * Emitted after the alert has presented.
     */
    ionAlertDidPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the alert has presented.
     */
    ionAlertWillPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the alert has dismissed.
     */
    ionAlertWillDismiss: EventEmitter<CustomEvent<IIonAlertOverlayEventDetail>>;
    /**
     * Emitted after the alert has dismissed.
     */
    ionAlertDidDismiss: EventEmitter<CustomEvent<IIonAlertOverlayEventDetail>>;
    /**
     * Emitted after the alert has presented.
  Shorthand for ionAlertWillDismiss.
     */
    didPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the alert has presented.
  Shorthand for ionAlertWillPresent.
     */
    willPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the alert has dismissed.
  Shorthand for ionAlertWillDismiss.
     */
    willDismiss: EventEmitter<CustomEvent<IIonAlertOverlayEventDetail>>;
    /**
     * Emitted after the alert has dismissed.
  Shorthand for ionAlertDidDismiss.
     */
    didDismiss: EventEmitter<CustomEvent<IIonAlertOverlayEventDetail>>;
}
export declare class IonApp {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonApp, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonApp, "ion-app", never, {}, {}, never, ["*"], false>;
}
export declare interface IonApp extends Components.IonApp {
}
export declare class IonAvatar {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonAvatar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonAvatar, "ion-avatar", never, {}, {}, never, ["*"], false>;
}
export declare interface IonAvatar extends Components.IonAvatar {
}
export declare class IonBackdrop {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonBackdrop, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonBackdrop, "ion-backdrop", never, { "stopPropagation": "stopPropagation"; "tappable": "tappable"; "visible": "visible"; }, {}, never, ["*"], false>;
}
export declare interface IonBackdrop extends Components.IonBackdrop {
    /**
     * Emitted when the backdrop is tapped.
     */
    ionBackdropTap: EventEmitter<CustomEvent<void>>;
}
export declare class IonBadge {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonBadge, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonBadge, "ion-badge", never, { "color": "color"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonBadge extends Components.IonBadge {
}
export declare class IonBreadcrumb {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonBreadcrumb, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonBreadcrumb, "ion-breadcrumb", never, { "active": "active"; "color": "color"; "disabled": "disabled"; "download": "download"; "href": "href"; "mode": "mode"; "rel": "rel"; "routerAnimation": "routerAnimation"; "routerDirection": "routerDirection"; "separator": "separator"; "target": "target"; }, {}, never, ["*"], false>;
}
export declare interface IonBreadcrumb extends Components.IonBreadcrumb {
    /**
     * Emitted when the breadcrumb has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the breadcrumb loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonBreadcrumbs {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonBreadcrumbs, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonBreadcrumbs, "ion-breadcrumbs", never, { "color": "color"; "itemsAfterCollapse": "itemsAfterCollapse"; "itemsBeforeCollapse": "itemsBeforeCollapse"; "maxItems": "maxItems"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonBreadcrumbs extends Components.IonBreadcrumbs {
    /**
     * Emitted when the collapsed indicator is clicked on.
     */
    ionCollapsedClick: EventEmitter<CustomEvent<IIonBreadcrumbsBreadcrumbCollapsedClickEventDetail>>;
}
export declare class IonButton {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonButton, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonButton, "ion-button", never, { "buttonType": "buttonType"; "color": "color"; "disabled": "disabled"; "download": "download"; "expand": "expand"; "fill": "fill"; "form": "form"; "href": "href"; "mode": "mode"; "rel": "rel"; "routerAnimation": "routerAnimation"; "routerDirection": "routerDirection"; "shape": "shape"; "size": "size"; "strong": "strong"; "target": "target"; "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonButton extends Components.IonButton {
    /**
     * Emitted when the button has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the button loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonButtons {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonButtons, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonButtons, "ion-buttons", never, { "collapse": "collapse"; }, {}, never, ["*"], false>;
}
export declare interface IonButtons extends Components.IonButtons {
}
export declare class IonCard {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonCard, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonCard, "ion-card", never, { "button": "button"; "color": "color"; "disabled": "disabled"; "download": "download"; "href": "href"; "mode": "mode"; "rel": "rel"; "routerAnimation": "routerAnimation"; "routerDirection": "routerDirection"; "target": "target"; "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonCard extends Components.IonCard {
}
export declare class IonCardContent {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonCardContent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonCardContent, "ion-card-content", never, { "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonCardContent extends Components.IonCardContent {
}
export declare class IonCardHeader {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonCardHeader, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonCardHeader, "ion-card-header", never, { "color": "color"; "mode": "mode"; "translucent": "translucent"; }, {}, never, ["*"], false>;
}
export declare interface IonCardHeader extends Components.IonCardHeader {
}
export declare class IonCardSubtitle {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonCardSubtitle, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonCardSubtitle, "ion-card-subtitle", never, { "color": "color"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonCardSubtitle extends Components.IonCardSubtitle {
}
export declare class IonCardTitle {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonCardTitle, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonCardTitle, "ion-card-title", never, { "color": "color"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonCardTitle extends Components.IonCardTitle {
}
export declare class IonCheckbox {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonCheckbox, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonCheckbox, "ion-checkbox", never, { "alignment": "alignment"; "checked": "checked"; "color": "color"; "disabled": "disabled"; "indeterminate": "indeterminate"; "justify": "justify"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "name": "name"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonCheckbox extends Components.IonCheckbox {
    /**
     * Emitted when the checked property has changed
  as a result of a user action such as a click.
  This event will not emit when programmatically
  setting the checked property.
     */
    ionChange: EventEmitter<CustomEvent<IIonCheckboxCheckboxChangeEventDetail>>;
    /**
     * Emitted when the checkbox has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the checkbox loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonChip {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonChip, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonChip, "ion-chip", never, { "color": "color"; "disabled": "disabled"; "mode": "mode"; "outline": "outline"; }, {}, never, ["*"], false>;
}
export declare interface IonChip extends Components.IonChip {
}
export declare class IonCol {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonCol, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonCol, "ion-col", never, { "offset": "offset"; "offsetLg": "offsetLg"; "offsetMd": "offsetMd"; "offsetSm": "offsetSm"; "offsetXl": "offsetXl"; "offsetXs": "offsetXs"; "pull": "pull"; "pullLg": "pullLg"; "pullMd": "pullMd"; "pullSm": "pullSm"; "pullXl": "pullXl"; "pullXs": "pullXs"; "push": "push"; "pushLg": "pushLg"; "pushMd": "pushMd"; "pushSm": "pushSm"; "pushXl": "pushXl"; "pushXs": "pushXs"; "size": "size"; "sizeLg": "sizeLg"; "sizeMd": "sizeMd"; "sizeSm": "sizeSm"; "sizeXl": "sizeXl"; "sizeXs": "sizeXs"; }, {}, never, ["*"], false>;
}
export declare interface IonCol extends Components.IonCol {
}
export declare class IonContent {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonContent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonContent, "ion-content", never, { "color": "color"; "forceOverscroll": "forceOverscroll"; "fullscreen": "fullscreen"; "scrollEvents": "scrollEvents"; "scrollX": "scrollX"; "scrollY": "scrollY"; }, {}, never, ["*"], false>;
}
export declare interface IonContent extends Components.IonContent {
    /**
     * Emitted when the scroll has started. This event is disabled by default.
  Set `scrollEvents` to `true` to enable.
     */
    ionScrollStart: EventEmitter<CustomEvent<IIonContentScrollBaseDetail>>;
    /**
     * Emitted while scrolling. This event is disabled by default.
  Set `scrollEvents` to `true` to enable.
     */
    ionScroll: EventEmitter<CustomEvent<IIonContentScrollDetail>>;
    /**
     * Emitted when the scroll has ended. This event is disabled by default.
  Set `scrollEvents` to `true` to enable.
     */
    ionScrollEnd: EventEmitter<CustomEvent<IIonContentScrollBaseDetail>>;
}
export declare class IonDatetime {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonDatetime, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonDatetime, "ion-datetime", never, { "cancelText": "cancelText"; "clearText": "clearText"; "color": "color"; "dayValues": "dayValues"; "disableMonthYearPicker": "disableMonthYearPicker"; "disabled": "disabled"; "doneText": "doneText"; "firstDayOfWeek": "firstDayOfWeek"; "highlightedDates": "highlightedDates"; "hourCycle": "hourCycle"; "hourValues": "hourValues"; "isDateEnabled": "isDateEnabled"; "locale": "locale"; "max": "max"; "min": "min"; "minuteValues": "minuteValues"; "mode": "mode"; "monthValues": "monthValues"; "multiple": "multiple"; "name": "name"; "preferWheel": "preferWheel"; "presentation": "presentation"; "readonly": "readonly"; "showClearButton": "showClearButton"; "showDefaultButtons": "showDefaultButtons"; "showDefaultTimeLabel": "showDefaultTimeLabel"; "showDefaultTitle": "showDefaultTitle"; "size": "size"; "titleSelectedDatesFormatter": "titleSelectedDatesFormatter"; "value": "value"; "yearValues": "yearValues"; }, {}, never, ["*"], false>;
}
export declare interface IonDatetime extends Components.IonDatetime {
    /**
     * Emitted when the datetime selection was cancelled.
     */
    ionCancel: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the value (selected date) has changed.
     */
    ionChange: EventEmitter<CustomEvent<IIonDatetimeDatetimeChangeEventDetail>>;
    ionMonthChange: EventEmitter<CustomEvent<IIonDatetimeDatetimeChangeEventDetail>>;
    /**
     * Emitted when the datetime has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the datetime loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonDatetimeButton {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonDatetimeButton, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonDatetimeButton, "ion-datetime-button", never, { "color": "color"; "datetime": "datetime"; "disabled": "disabled"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonDatetimeButton extends Components.IonDatetimeButton {
}
export declare class IonFab {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonFab, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonFab, "ion-fab", never, { "activated": "activated"; "edge": "edge"; "horizontal": "horizontal"; "vertical": "vertical"; }, {}, never, ["*"], false>;
}
export declare interface IonFab extends Components.IonFab {
}
export declare class IonFabButton {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonFabButton, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonFabButton, "ion-fab-button", never, { "activated": "activated"; "closeIcon": "closeIcon"; "color": "color"; "disabled": "disabled"; "download": "download"; "href": "href"; "mode": "mode"; "rel": "rel"; "routerAnimation": "routerAnimation"; "routerDirection": "routerDirection"; "show": "show"; "size": "size"; "target": "target"; "translucent": "translucent"; "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonFabButton extends Components.IonFabButton {
    /**
     * Emitted when the button has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the button loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonFabList {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonFabList, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonFabList, "ion-fab-list", never, { "activated": "activated"; "side": "side"; }, {}, never, ["*"], false>;
}
export declare interface IonFabList extends Components.IonFabList {
}
export declare class IonFooter {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonFooter, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonFooter, "ion-footer", never, { "collapse": "collapse"; "mode": "mode"; "translucent": "translucent"; }, {}, never, ["*"], false>;
}
export declare interface IonFooter extends Components.IonFooter {
}
export declare class IonGrid {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonGrid, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonGrid, "ion-grid", never, { "fixed": "fixed"; }, {}, never, ["*"], false>;
}
export declare interface IonGrid extends Components.IonGrid {
}
export declare class IonHeader {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonHeader, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonHeader, "ion-header", never, { "collapse": "collapse"; "mode": "mode"; "translucent": "translucent"; }, {}, never, ["*"], false>;
}
export declare interface IonHeader extends Components.IonHeader {
}
export declare class IonIcon {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonIcon, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonIcon, "ion-icon", never, { "color": "color"; "flipRtl": "flipRtl"; "icon": "icon"; "ios": "ios"; "lazy": "lazy"; "md": "md"; "mode": "mode"; "name": "name"; "sanitize": "sanitize"; "size": "size"; "src": "src"; }, {}, never, ["*"], false>;
}
export declare interface IonIcon extends Components.IonIcon {
}
export declare class IonImg {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonImg, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonImg, "ion-img", never, { "alt": "alt"; "src": "src"; }, {}, never, ["*"], false>;
}
export declare interface IonImg extends Components.IonImg {
    /**
     * Emitted when the img src has been set
     */
    ionImgWillLoad: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the image has finished loading
     */
    ionImgDidLoad: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the img fails to load
     */
    ionError: EventEmitter<CustomEvent<void>>;
}
export declare class IonInfiniteScroll {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonInfiniteScroll, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonInfiniteScroll, "ion-infinite-scroll", never, { "disabled": "disabled"; "position": "position"; "threshold": "threshold"; }, {}, never, ["*"], false>;
}
export declare interface IonInfiniteScroll extends Components.IonInfiniteScroll {
    /**
     * Emitted when the scroll reaches
  the threshold distance. From within your infinite handler,
  you must call the infinite scroll's `complete()` method when
  your async operation has completed.
     */
    ionInfinite: EventEmitter<CustomEvent<void>>;
}
export declare class IonInfiniteScrollContent {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonInfiniteScrollContent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonInfiniteScrollContent, "ion-infinite-scroll-content", never, { "loadingSpinner": "loadingSpinner"; "loadingText": "loadingText"; }, {}, never, ["*"], false>;
}
export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent {
}
export declare class IonInput {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonInput, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonInput, "ion-input", never, { "accept": "accept"; "autocapitalize": "autocapitalize"; "autocomplete": "autocomplete"; "autocorrect": "autocorrect"; "autofocus": "autofocus"; "clearInput": "clearInput"; "clearOnEdit": "clearOnEdit"; "color": "color"; "counter": "counter"; "counterFormatter": "counterFormatter"; "debounce": "debounce"; "disabled": "disabled"; "enterkeyhint": "enterkeyhint"; "errorText": "errorText"; "fill": "fill"; "helperText": "helperText"; "inputmode": "inputmode"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "max": "max"; "maxlength": "maxlength"; "min": "min"; "minlength": "minlength"; "mode": "mode"; "multiple": "multiple"; "name": "name"; "pattern": "pattern"; "placeholder": "placeholder"; "readonly": "readonly"; "required": "required"; "shape": "shape"; "size": "size"; "spellcheck": "spellcheck"; "step": "step"; "type": "type"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonInput extends Components.IonInput {
    /**
     * The `ionInput` event is fired each time the user modifies the input's value.
  Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
  to the input's value. This typically happens for each keystroke as the user types.
  
  For elements that accept text input (`type=text`, `type=tel`, etc.), the interface
  is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,
  the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If
  the input is cleared on edit, the type is `null`.
     */
    ionInput: EventEmitter<CustomEvent<IIonInputInputInputEventDetail>>;
    /**
     * The `ionChange` event is fired when the user modifies the input's value.
  Unlike the `ionInput` event, the `ionChange` event is only fired when changes
  are committed, not as the user types.
  
  Depending on the way the users interacts with the element, the `ionChange`
  event fires at a different moment:
  - When the user commits the change explicitly (e.g. by selecting a date
  from a date picker for `<ion-input type="date">`, pressing the "Enter" key, etc.).
  - When the element loses focus after its value has changed: for elements
  where the user's interaction is typing.
     */
    ionChange: EventEmitter<CustomEvent<IIonInputInputChangeEventDetail>>;
    /**
     * Emitted when the input loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<FocusEvent>>;
    /**
     * Emitted when the input has focus.
     */
    ionFocus: EventEmitter<CustomEvent<FocusEvent>>;
}
export declare class IonItem {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonItem, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonItem, "ion-item", never, { "button": "button"; "color": "color"; "counter": "counter"; "counterFormatter": "counterFormatter"; "detail": "detail"; "detailIcon": "detailIcon"; "disabled": "disabled"; "download": "download"; "fill": "fill"; "href": "href"; "lines": "lines"; "mode": "mode"; "rel": "rel"; "routerAnimation": "routerAnimation"; "routerDirection": "routerDirection"; "shape": "shape"; "target": "target"; "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonItem extends Components.IonItem {
}
export declare class IonItemDivider {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonItemDivider, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonItemDivider, "ion-item-divider", never, { "color": "color"; "mode": "mode"; "sticky": "sticky"; }, {}, never, ["*"], false>;
}
export declare interface IonItemDivider extends Components.IonItemDivider {
}
export declare class IonItemGroup {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonItemGroup, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonItemGroup, "ion-item-group", never, {}, {}, never, ["*"], false>;
}
export declare interface IonItemGroup extends Components.IonItemGroup {
}
export declare class IonItemOption {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonItemOption, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonItemOption, "ion-item-option", never, { "color": "color"; "disabled": "disabled"; "download": "download"; "expandable": "expandable"; "href": "href"; "mode": "mode"; "rel": "rel"; "target": "target"; "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonItemOption extends Components.IonItemOption {
}
export declare class IonItemOptions {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonItemOptions, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonItemOptions, "ion-item-options", never, { "side": "side"; }, {}, never, ["*"], false>;
}
export declare interface IonItemOptions extends Components.IonItemOptions {
    /**
     * Emitted when the item has been fully swiped.
     */
    ionSwipe: EventEmitter<CustomEvent<any>>;
}
export declare class IonItemSliding {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonItemSliding, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonItemSliding, "ion-item-sliding", never, { "disabled": "disabled"; }, {}, never, ["*"], false>;
}
export declare interface IonItemSliding extends Components.IonItemSliding {
    /**
     * Emitted when the sliding position changes.
     */
    ionDrag: EventEmitter<CustomEvent<any>>;
}
export declare class IonLabel {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonLabel, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonLabel, "ion-label", never, { "color": "color"; "mode": "mode"; "position": "position"; }, {}, never, ["*"], false>;
}
export declare interface IonLabel extends Components.IonLabel {
}
export declare class IonList {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonList, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonList, "ion-list", never, { "inset": "inset"; "lines": "lines"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonList extends Components.IonList {
}
export declare class IonListHeader {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonListHeader, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonListHeader, "ion-list-header", never, { "color": "color"; "lines": "lines"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonListHeader extends Components.IonListHeader {
}
export declare class IonLoading {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonLoading, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonLoading, "ion-loading", never, { "animated": "animated"; "backdropDismiss": "backdropDismiss"; "cssClass": "cssClass"; "duration": "duration"; "enterAnimation": "enterAnimation"; "htmlAttributes": "htmlAttributes"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "leaveAnimation": "leaveAnimation"; "message": "message"; "mode": "mode"; "showBackdrop": "showBackdrop"; "spinner": "spinner"; "translucent": "translucent"; "trigger": "trigger"; }, {}, never, ["*"], false>;
}
export declare interface IonLoading extends Components.IonLoading {
    /**
     * Emitted after the loading has presented.
     */
    ionLoadingDidPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the loading has presented.
     */
    ionLoadingWillPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the loading has dismissed.
     */
    ionLoadingWillDismiss: EventEmitter<CustomEvent<IIonLoadingOverlayEventDetail>>;
    /**
     * Emitted after the loading has dismissed.
     */
    ionLoadingDidDismiss: EventEmitter<CustomEvent<IIonLoadingOverlayEventDetail>>;
    /**
     * Emitted after the loading indicator has presented.
  Shorthand for ionLoadingWillDismiss.
     */
    didPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the loading indicator has presented.
  Shorthand for ionLoadingWillPresent.
     */
    willPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the loading indicator has dismissed.
  Shorthand for ionLoadingWillDismiss.
     */
    willDismiss: EventEmitter<CustomEvent<IIonLoadingOverlayEventDetail>>;
    /**
     * Emitted after the loading indicator has dismissed.
  Shorthand for ionLoadingDidDismiss.
     */
    didDismiss: EventEmitter<CustomEvent<IIonLoadingOverlayEventDetail>>;
}
export declare class IonMenu {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonMenu, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonMenu, "ion-menu", never, { "contentId": "contentId"; "disabled": "disabled"; "maxEdgeStart": "maxEdgeStart"; "menuId": "menuId"; "side": "side"; "swipeGesture": "swipeGesture"; "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonMenu extends Components.IonMenu {
    /**
     * Emitted when the menu is about to be opened.
     */
    ionWillOpen: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the menu is about to be closed.
     */
    ionWillClose: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the menu is open.
     */
    ionDidOpen: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the menu is closed.
     */
    ionDidClose: EventEmitter<CustomEvent<void>>;
}
export declare class IonMenuButton {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonMenuButton, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonMenuButton, "ion-menu-button", never, { "autoHide": "autoHide"; "color": "color"; "disabled": "disabled"; "menu": "menu"; "mode": "mode"; "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonMenuButton extends Components.IonMenuButton {
}
export declare class IonMenuToggle {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonMenuToggle, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonMenuToggle, "ion-menu-toggle", never, { "autoHide": "autoHide"; "menu": "menu"; }, {}, never, ["*"], false>;
}
export declare interface IonMenuToggle extends Components.IonMenuToggle {
}
export declare class IonNavLink {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonNavLink, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonNavLink, "ion-nav-link", never, { "component": "component"; "componentProps": "componentProps"; "routerAnimation": "routerAnimation"; "routerDirection": "routerDirection"; }, {}, never, ["*"], false>;
}
export declare interface IonNavLink extends Components.IonNavLink {
}
export declare class IonNote {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonNote, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonNote, "ion-note", never, { "color": "color"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonNote extends Components.IonNote {
}
export declare class IonPicker {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonPicker, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonPicker, "ion-picker", never, { "animated": "animated"; "backdropDismiss": "backdropDismiss"; "buttons": "buttons"; "columns": "columns"; "cssClass": "cssClass"; "duration": "duration"; "enterAnimation": "enterAnimation"; "htmlAttributes": "htmlAttributes"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "leaveAnimation": "leaveAnimation"; "mode": "mode"; "showBackdrop": "showBackdrop"; "trigger": "trigger"; }, {}, never, ["*"], false>;
}
export declare interface IonPicker extends Components.IonPicker {
    /**
     * Emitted after the picker has presented.
     */
    ionPickerDidPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the picker has presented.
     */
    ionPickerWillPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the picker has dismissed.
     */
    ionPickerWillDismiss: EventEmitter<CustomEvent<IIonPickerOverlayEventDetail>>;
    /**
     * Emitted after the picker has dismissed.
     */
    ionPickerDidDismiss: EventEmitter<CustomEvent<IIonPickerOverlayEventDetail>>;
    /**
     * Emitted after the picker has presented.
  Shorthand for ionPickerWillDismiss.
     */
    didPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the picker has presented.
  Shorthand for ionPickerWillPresent.
     */
    willPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the picker has dismissed.
  Shorthand for ionPickerWillDismiss.
     */
    willDismiss: EventEmitter<CustomEvent<IIonPickerOverlayEventDetail>>;
    /**
     * Emitted after the picker has dismissed.
  Shorthand for ionPickerDidDismiss.
     */
    didDismiss: EventEmitter<CustomEvent<IIonPickerOverlayEventDetail>>;
}
export declare class IonProgressBar {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonProgressBar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonProgressBar, "ion-progress-bar", never, { "buffer": "buffer"; "color": "color"; "mode": "mode"; "reversed": "reversed"; "type": "type"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonProgressBar extends Components.IonProgressBar {
}
export declare class IonRadio {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonRadio, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonRadio, "ion-radio", never, { "alignment": "alignment"; "color": "color"; "disabled": "disabled"; "justify": "justify"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "name": "name"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonRadio extends Components.IonRadio {
    /**
     * Emitted when the radio button has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the radio button loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonRadioGroup {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonRadioGroup, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonRadioGroup, "ion-radio-group", never, { "allowEmptySelection": "allowEmptySelection"; "name": "name"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonRadioGroup extends Components.IonRadioGroup {
    /**
     * Emitted when the value has changed.
     */
    ionChange: EventEmitter<CustomEvent<IIonRadioGroupRadioGroupChangeEventDetail>>;
}
export declare class IonRange {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonRange, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonRange, "ion-range", never, { "activeBarStart": "activeBarStart"; "color": "color"; "debounce": "debounce"; "disabled": "disabled"; "dualKnobs": "dualKnobs"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "max": "max"; "min": "min"; "mode": "mode"; "name": "name"; "pin": "pin"; "pinFormatter": "pinFormatter"; "snaps": "snaps"; "step": "step"; "ticks": "ticks"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonRange extends Components.IonRange {
    /**
     * The `ionChange` event is fired for `<ion-range>` elements when the user
  modifies the element's value:
  - When the user releases the knob after dragging;
  - When the user moves the knob with keyboard arrows
  
  `ionChange` is not fired when the value is changed programmatically.
     */
    ionChange: EventEmitter<CustomEvent<IIonRangeRangeChangeEventDetail>>;
    /**
     * The `ionInput` event is fired for `<ion-range>` elements when the value
  is modified. Unlike `ionChange`, `ionInput` is fired continuously
  while the user is dragging the knob.
     */
    ionInput: EventEmitter<CustomEvent<IIonRangeRangeChangeEventDetail>>;
    /**
     * Emitted when the range has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the range loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the user starts moving the range knob, whether through
  mouse drag, touch gesture, or keyboard interaction.
     */
    ionKnobMoveStart: EventEmitter<CustomEvent<IIonRangeRangeKnobMoveStartEventDetail>>;
    /**
     * Emitted when the user finishes moving the range knob, whether through
  mouse drag, touch gesture, or keyboard interaction.
     */
    ionKnobMoveEnd: EventEmitter<CustomEvent<IIonRangeRangeKnobMoveEndEventDetail>>;
}
export declare class IonRefresher {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonRefresher, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonRefresher, "ion-refresher", never, { "closeDuration": "closeDuration"; "disabled": "disabled"; "pullFactor": "pullFactor"; "pullMax": "pullMax"; "pullMin": "pullMin"; "snapbackDuration": "snapbackDuration"; }, {}, never, ["*"], false>;
}
export declare interface IonRefresher extends Components.IonRefresher {
    /**
     * Emitted when the user lets go of the content and has pulled down
  further than the `pullMin` or pulls the content down and exceeds the pullMax.
  Updates the refresher state to `refreshing`. The `complete()` method should be
  called when the async operation has completed.
     */
    ionRefresh: EventEmitter<CustomEvent<IIonRefresherRefresherEventDetail>>;
    /**
     * Emitted while the user is pulling down the content and exposing the refresher.
     */
    ionPull: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the user begins to start pulling down.
     */
    ionStart: EventEmitter<CustomEvent<void>>;
}
export declare class IonRefresherContent {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonRefresherContent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonRefresherContent, "ion-refresher-content", never, { "pullingIcon": "pullingIcon"; "pullingText": "pullingText"; "refreshingSpinner": "refreshingSpinner"; "refreshingText": "refreshingText"; }, {}, never, ["*"], false>;
}
export declare interface IonRefresherContent extends Components.IonRefresherContent {
}
export declare class IonReorder {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonReorder, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonReorder, "ion-reorder", never, {}, {}, never, ["*"], false>;
}
export declare interface IonReorder extends Components.IonReorder {
}
export declare class IonReorderGroup {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonReorderGroup, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonReorderGroup, "ion-reorder-group", never, { "disabled": "disabled"; }, {}, never, ["*"], false>;
}
export declare interface IonReorderGroup extends Components.IonReorderGroup {
    /**
     * Event that needs to be listened to in order to complete the reorder action.
  Once the event has been emitted, the `complete()` method then needs
  to be called in order to finalize the reorder action.
     */
    ionItemReorder: EventEmitter<CustomEvent<IIonReorderGroupItemReorderEventDetail>>;
}
export declare class IonRippleEffect {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonRippleEffect, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonRippleEffect, "ion-ripple-effect", never, { "type": "type"; }, {}, never, ["*"], false>;
}
export declare interface IonRippleEffect extends Components.IonRippleEffect {
}
export declare class IonRow {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonRow, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonRow, "ion-row", never, {}, {}, never, ["*"], false>;
}
export declare interface IonRow extends Components.IonRow {
}
export declare class IonSearchbar {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSearchbar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSearchbar, "ion-searchbar", never, { "animated": "animated"; "autocomplete": "autocomplete"; "autocorrect": "autocorrect"; "cancelButtonIcon": "cancelButtonIcon"; "cancelButtonText": "cancelButtonText"; "clearIcon": "clearIcon"; "color": "color"; "debounce": "debounce"; "disabled": "disabled"; "enterkeyhint": "enterkeyhint"; "inputmode": "inputmode"; "mode": "mode"; "name": "name"; "placeholder": "placeholder"; "searchIcon": "searchIcon"; "showCancelButton": "showCancelButton"; "showClearButton": "showClearButton"; "spellcheck": "spellcheck"; "type": "type"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonSearchbar extends Components.IonSearchbar {
    /**
     * Emitted when the `value` of the `ion-searchbar` element has changed.
     */
    ionInput: EventEmitter<CustomEvent<IIonSearchbarSearchbarInputEventDetail>>;
    /**
     * The `ionChange` event is fired for `<ion-searchbar>` elements when the user
  modifies the element's value. Unlike the `ionInput` event, the `ionChange`
  event is not necessarily fired for each alteration to an element's value.
  
  The `ionChange` event is fired when the value has been committed
  by the user. This can happen when the element loses focus or
  when the "Enter" key is pressed. `ionChange` can also fire
  when clicking the clear or cancel buttons.
     */
    ionChange: EventEmitter<CustomEvent<IIonSearchbarSearchbarChangeEventDetail>>;
    /**
     * Emitted when the cancel button is clicked.
     */
    ionCancel: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the clear input button is clicked.
     */
    ionClear: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the input loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the input has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
}
export declare class IonSegment {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSegment, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSegment, "ion-segment", never, { "color": "color"; "disabled": "disabled"; "mode": "mode"; "scrollable": "scrollable"; "selectOnFocus": "selectOnFocus"; "swipeGesture": "swipeGesture"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonSegment extends Components.IonSegment {
    /**
     * Emitted when the value property has changed and any
  dragging pointer has been released from `ion-segment`.
     */
    ionChange: EventEmitter<CustomEvent<IIonSegmentSegmentChangeEventDetail>>;
}
export declare class IonSegmentButton {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSegmentButton, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSegmentButton, "ion-segment-button", never, { "disabled": "disabled"; "layout": "layout"; "mode": "mode"; "type": "type"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonSegmentButton extends Components.IonSegmentButton {
}
export declare class IonSelect {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSelect, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSelect, "ion-select", never, { "cancelText": "cancelText"; "color": "color"; "compareWith": "compareWith"; "disabled": "disabled"; "expandedIcon": "expandedIcon"; "fill": "fill"; "interface": "interface"; "interfaceOptions": "interfaceOptions"; "justify": "justify"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "multiple": "multiple"; "name": "name"; "okText": "okText"; "placeholder": "placeholder"; "selectedText": "selectedText"; "shape": "shape"; "toggleIcon": "toggleIcon"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonSelect extends Components.IonSelect {
    /**
     * Emitted when the value has changed.
     */
    ionChange: EventEmitter<CustomEvent<IIonSelectSelectChangeEventDetail>>;
    /**
     * Emitted when the selection is cancelled.
     */
    ionCancel: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the overlay is dismissed.
     */
    ionDismiss: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the select has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the select loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonSelectOption {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSelectOption, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSelectOption, "ion-select-option", never, { "disabled": "disabled"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonSelectOption extends Components.IonSelectOption {
}
export declare class IonSkeletonText {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSkeletonText, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSkeletonText, "ion-skeleton-text", never, { "animated": "animated"; }, {}, never, ["*"], false>;
}
export declare interface IonSkeletonText extends Components.IonSkeletonText {
}
export declare class IonSpinner {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSpinner, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSpinner, "ion-spinner", never, { "color": "color"; "duration": "duration"; "name": "name"; "paused": "paused"; }, {}, never, ["*"], false>;
}
export declare interface IonSpinner extends Components.IonSpinner {
}
export declare class IonSplitPane {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSplitPane, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSplitPane, "ion-split-pane", never, { "contentId": "contentId"; "disabled": "disabled"; "when": "when"; }, {}, never, ["*"], false>;
}
export declare interface IonSplitPane extends Components.IonSplitPane {
    /**
     * Expression to be called when the split-pane visibility has changed
     */
    ionSplitPaneVisible: EventEmitter<CustomEvent<{
        visible: boolean;
    }>>;
}
export declare class IonTabBar {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonTabBar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonTabBar, "ion-tab-bar", never, { "color": "color"; "mode": "mode"; "selectedTab": "selectedTab"; "translucent": "translucent"; }, {}, never, ["*"], false>;
}
export declare interface IonTabBar extends Components.IonTabBar {
}
export declare class IonTabButton {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonTabButton, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonTabButton, "ion-tab-button", never, { "disabled": "disabled"; "download": "download"; "href": "href"; "layout": "layout"; "mode": "mode"; "rel": "rel"; "selected": "selected"; "tab": "tab"; "target": "target"; }, {}, never, ["*"], false>;
}
export declare interface IonTabButton extends Components.IonTabButton {
}
export declare class IonText {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonText, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonText, "ion-text", never, { "color": "color"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonText extends Components.IonText {
}
export declare class IonTextarea {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonTextarea, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonTextarea, "ion-textarea", never, { "autoGrow": "autoGrow"; "autocapitalize": "autocapitalize"; "autofocus": "autofocus"; "clearOnEdit": "clearOnEdit"; "color": "color"; "cols": "cols"; "counter": "counter"; "counterFormatter": "counterFormatter"; "debounce": "debounce"; "disabled": "disabled"; "enterkeyhint": "enterkeyhint"; "errorText": "errorText"; "fill": "fill"; "helperText": "helperText"; "inputmode": "inputmode"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "maxlength": "maxlength"; "minlength": "minlength"; "mode": "mode"; "name": "name"; "placeholder": "placeholder"; "readonly": "readonly"; "required": "required"; "rows": "rows"; "shape": "shape"; "spellcheck": "spellcheck"; "value": "value"; "wrap": "wrap"; }, {}, never, ["*"], false>;
}
export declare interface IonTextarea extends Components.IonTextarea {
    /**
     * The `ionChange` event is fired when the user modifies the textarea's value.
  Unlike the `ionInput` event, the `ionChange` event is fired when
  the element loses focus after its value has been modified.
     */
    ionChange: EventEmitter<CustomEvent<IIonTextareaTextareaChangeEventDetail>>;
    /**
     * The `ionInput` event is fired each time the user modifies the textarea's value.
  Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
  to the textarea's value. This typically happens for each keystroke as the user types.
  
  When `clearOnEdit` is enabled, the `ionInput` event will be fired when
  the user clears the textarea by performing a keydown event.
     */
    ionInput: EventEmitter<CustomEvent<IIonTextareaTextareaInputEventDetail>>;
    /**
     * Emitted when the input loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<FocusEvent>>;
    /**
     * Emitted when the input has focus.
     */
    ionFocus: EventEmitter<CustomEvent<FocusEvent>>;
}
export declare class IonThumbnail {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonThumbnail, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonThumbnail, "ion-thumbnail", never, {}, {}, never, ["*"], false>;
}
export declare interface IonThumbnail extends Components.IonThumbnail {
}
export declare class IonTitle {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonTitle, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonTitle, "ion-title", never, { "color": "color"; "size": "size"; }, {}, never, ["*"], false>;
}
export declare interface IonTitle extends Components.IonTitle {
}
export declare class IonToast {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonToast, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonToast, "ion-toast", never, { "animated": "animated"; "buttons": "buttons"; "color": "color"; "cssClass": "cssClass"; "duration": "duration"; "enterAnimation": "enterAnimation"; "header": "header"; "htmlAttributes": "htmlAttributes"; "icon": "icon"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "layout": "layout"; "leaveAnimation": "leaveAnimation"; "message": "message"; "mode": "mode"; "position": "position"; "positionAnchor": "positionAnchor"; "translucent": "translucent"; "trigger": "trigger"; }, {}, never, ["*"], false>;
}
export declare interface IonToast extends Components.IonToast {
    /**
     * Emitted after the toast has presented.
     */
    ionToastDidPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the toast has presented.
     */
    ionToastWillPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the toast has dismissed.
     */
    ionToastWillDismiss: EventEmitter<CustomEvent<IIonToastOverlayEventDetail>>;
    /**
     * Emitted after the toast has dismissed.
     */
    ionToastDidDismiss: EventEmitter<CustomEvent<IIonToastOverlayEventDetail>>;
    /**
     * Emitted after the toast has presented.
  Shorthand for ionToastWillDismiss.
     */
    didPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the toast has presented.
  Shorthand for ionToastWillPresent.
     */
    willPresent: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted before the toast has dismissed.
  Shorthand for ionToastWillDismiss.
     */
    willDismiss: EventEmitter<CustomEvent<IIonToastOverlayEventDetail>>;
    /**
     * Emitted after the toast has dismissed.
  Shorthand for ionToastDidDismiss.
     */
    didDismiss: EventEmitter<CustomEvent<IIonToastOverlayEventDetail>>;
}
export declare class IonToggle {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonToggle, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonToggle, "ion-toggle", never, { "alignment": "alignment"; "checked": "checked"; "color": "color"; "disabled": "disabled"; "enableOnOffLabels": "enableOnOffLabels"; "justify": "justify"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "name": "name"; "value": "value"; }, {}, never, ["*"], false>;
}
export declare interface IonToggle extends Components.IonToggle {
    /**
     * Emitted when the user switches the toggle on or off. Does not emit
  when programmatically changing the value of the `checked` property.
     */
    ionChange: EventEmitter<CustomEvent<IIonToggleToggleChangeEventDetail>>;
    /**
     * Emitted when the toggle has focus.
     */
    ionFocus: EventEmitter<CustomEvent<void>>;
    /**
     * Emitted when the toggle loses focus.
     */
    ionBlur: EventEmitter<CustomEvent<void>>;
}
export declare class IonToolbar {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonToolbar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonToolbar, "ion-toolbar", never, { "color": "color"; "mode": "mode"; }, {}, never, ["*"], false>;
}
export declare interface IonToolbar extends Components.IonToolbar {
}
