import { ChangeDetectorRef, ElementRef, NgZone, EventEmitter } from '@angular/core';
import type { Components } from '@ionic/core/components';
import type { IonToastCustomEvent } from '@ionic/core/components';
import type { OverlayEventDetail as IIonToastOverlayEventDetail } from '@ionic/core/components';
import * as i0 from "@angular/core";
export declare class IonToast {
    protected z: NgZone;
    protected el: HTMLIonToastElement;
    ionToastDidPresent: EventEmitter<IonToastCustomEvent<void>>;
    ionToastWillPresent: EventEmitter<IonToastCustomEvent<void>>;
    ionToastWillDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail<any>>>;
    ionToastDidDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail<any>>>;
    didPresent: EventEmitter<IonToastCustomEvent<void>>;
    willPresent: EventEmitter<IonToastCustomEvent<void>>;
    willDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail<any>>>;
    didDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail<any>>>;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonToast, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonToast, "ion-toast", never, { "animated": { "alias": "animated"; "required": false; }; "buttons": { "alias": "buttons"; "required": false; }; "color": { "alias": "color"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; "enterAnimation": { "alias": "enterAnimation"; "required": false; }; "header": { "alias": "header"; "required": false; }; "htmlAttributes": { "alias": "htmlAttributes"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "keyboardClose": { "alias": "keyboardClose"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "leaveAnimation": { "alias": "leaveAnimation"; "required": false; }; "message": { "alias": "message"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "position": { "alias": "position"; "required": false; }; "positionAnchor": { "alias": "positionAnchor"; "required": false; }; "swipeGesture": { "alias": "swipeGesture"; "required": false; }; "translucent": { "alias": "translucent"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; }, { "ionToastDidPresent": "ionToastDidPresent"; "ionToastWillPresent": "ionToastWillPresent"; "ionToastWillDismiss": "ionToastWillDismiss"; "ionToastDidDismiss": "ionToastDidDismiss"; "didPresent": "didPresent"; "willPresent": "willPresent"; "willDismiss": "willDismiss"; "didDismiss": "didDismiss"; }, never, ["*"], true, never>;
}
export declare interface IonToast extends Components.IonToast {
    /**
     * Emitted after the toast has presented.
     */
    ionToastDidPresent: EventEmitter<IonToastCustomEvent<void>>;
    /**
     * Emitted before the toast has presented.
     */
    ionToastWillPresent: EventEmitter<IonToastCustomEvent<void>>;
    /**
     * Emitted before the toast has dismissed.
     */
    ionToastWillDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail>>;
    /**
     * Emitted after the toast has dismissed.
     */
    ionToastDidDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail>>;
    /**
     * Emitted after the toast has presented.
  Shorthand for ionToastWillDismiss.
     */
    didPresent: EventEmitter<IonToastCustomEvent<void>>;
    /**
     * Emitted before the toast has presented.
  Shorthand for ionToastWillPresent.
     */
    willPresent: EventEmitter<IonToastCustomEvent<void>>;
    /**
     * Emitted before the toast has dismissed.
  Shorthand for ionToastWillDismiss.
     */
    willDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail>>;
    /**
     * Emitted after the toast has dismissed.
  Shorthand for ionToastDidDismiss.
     */
    didDismiss: EventEmitter<IonToastCustomEvent<IIonToastOverlayEventDetail>>;
}
