import { LitElement } from 'lit'; /** * Progress bar component * * @csspart container - The container element * @csspart bar - The progress bar element * @csspart fill - The progress fill element */ export declare class UIProgress extends LitElement { static styles: import("lit").CSSResult; value: number; max: number; indeterminate: boolean; /** * Label describing what is loading/progressing */ ariaLabel: string | null; /** * ID of element that labels the progress */ ariaLabelledby: string | null; /** * Additional description for the progress */ ariaDescribedby: string | null; private progressId; render(): import("lit-html").TemplateResult<1>; } /** * Spinner component */ export declare class UISpinner extends LitElement { static styles: import("lit").CSSResult; size: 'sm' | 'md' | 'lg'; /** * Label describing what is loading */ ariaLabel: string | null; render(): import("lit-html").TemplateResult<1>; } /** * Skeleton loading component */ export declare class UISkeleton extends LitElement { static styles: import("lit").CSSResult; variant: 'text' | 'circle' | 'rect'; width: string; height?: string; render(): import("lit-html").TemplateResult<1>; } /** * Toast notification component * * @slot - Default slot for toast content * @slot icon - Optional icon slot * * @fires close - Dispatched when toast is closed * * @property {string} variant - Toast variant: success, warning, danger, info * @property {boolean} dismissible - Whether toast can be manually dismissed (default: true) * @property {boolean} autoClose - Whether toast auto-closes after duration (default: false) * @property {number} duration - Auto-close duration in milliseconds (default: 3000) * @property {boolean} showIcon - Whether to show icon (default: false) * * @csspart toast - The toast container * @csspart icon - The icon container * @csspart content - The content container * @csspart close-button - The close button */ export declare class UIToast extends LitElement { static styles: import("lit").CSSResult; variant: 'success' | 'warning' | 'danger' | 'info'; dismissible: boolean; autoClose: boolean; duration: number; showIcon: boolean; showProgress: boolean; private _autoCloseTimeout?; private _progressInterval?; private _remainingTime; private _startTime; connectedCallback(): void; disconnectedCallback(): void; private close; private getDefaultIcon; render(): import("lit-html").TemplateResult<1>; } /** * ToastManager - Global toast notification manager with queue support */ export interface ToastOptions { message: string; variant?: 'success' | 'warning' | 'danger' | 'info'; duration?: number; showIcon?: boolean; showProgress?: boolean; dismissible?: boolean; position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center'; actions?: Array<{ label: string; onClick: () => void; primary?: boolean; }>; } export declare class ToastManager { private static instance; private toasters; private maxToasts; private constructor(); static getInstance(): ToastManager; private getOrCreateToaster; private showToast; show(options: ToastOptions): void; success(message: string, options?: Partial): void; warning(message: string, options?: Partial): void; error(message: string, options?: Partial): void; info(message: string, options?: Partial): void; setMaxToasts(max: number): void; clearAll(position?: string): void; } export declare const toast: ToastManager; declare global { interface HTMLElementTagNameMap { 'ui-progress': UIProgress; 'ui-spinner': UISpinner; 'ui-skeleton': UISkeleton; 'ui-toast': UIToast; } } //# sourceMappingURL=feedback.d.ts.map