import { EventEmitter } from '../../stencil-public-runtime';
/**
 * @part dismiss
 */
export declare class PdsToast {
    el: HTMLPdsToastElement;
    /**
     * A unique identifier used for the underlying component `id` attribute.
     */
    componentId: string;
    /**
     * Whether the toast can be dismissed manually via the close button.
     * Note: This only controls manual dismissal. Auto-dismissal via duration still applies.
     * @default true
     */
    dismissible: boolean;
    /**
     * The duration in milliseconds to show the toast before auto-dismissing.
     * Set to 0 to disable auto-dismiss.
     * @default 4500
     */
    duration: number;
    /**
     * The name of the icon to display in the toast.
     */
    icon?: string;
    /**
     * The type of toast to display.
     * - default: Grey background (default)
     * - danger: Red background
     * - loading: With spinner animation
     * @default 'default'
     */
    type: 'default' | 'danger' | 'loading';
    /**
     * Whether the toast is currently visible.
     */
    isVisible: boolean;
    /**
     * Whether the toast is animating out.
     */
    isAnimatingOut: boolean;
    /**
     * Timer for auto-dismissal
     */
    private dismissTimer?;
    /**
     * Event emitted when the toast is dismissed, either manually or automatically.
     */
    pdsToastDismissed: EventEmitter<{
        componentId?: string;
    }>;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    handleDurationChange(newDuration: number): void;
    dismiss(): Promise<void>;
    private waitForDismissAnimation;
    private getDismissAnimationDurationMs;
    private parseCssDurationToMs;
    private cleanup;
    private startDismissTimer;
    private renderIcon;
    render(): any;
}
