import * as i0 from '@angular/core'; type ToastVariant = 'default' | 'destructive' | 'success' | 'info' | 'warning'; type ToastMessage = string | ((value: T) => string); interface ToastPromiseMessages { readonly loading: string; readonly success: ToastMessage; readonly error: ToastMessage; } type ToastHorizontalPosition = 'start' | 'center' | 'end' | 'left' | 'right'; type ToastVerticalPosition = 'top' | 'bottom'; interface ToastOptions { readonly title?: string; readonly description?: string; readonly action?: string; readonly variant?: ToastVariant; readonly durationMs?: number | null; readonly horizontalPosition?: ToastHorizontalPosition; readonly verticalPosition?: ToastVerticalPosition; } /** Handle for a shown toast. */ interface ToastRef { dismiss(): void; /** Resolves with `true` when the action button dismissed the toast. */ readonly afterDismissed: Promise<{ dismissedByAction: boolean; }>; } /** * Signal-era toast tanpa dependensi Material: stack dirender ke sebuah live * region (`role="status"`, `aria-live="polite"`) sehingga screen reader * mengumumkan setiap toast. */ declare class ToastService { private readonly documentRef; private container; private readonly active; show(options: ToastOptions): ToastRef; success(opts: Omit): ToastRef; info(opts: Omit): ToastRef; warning(opts: Omit): ToastRef; error(opts: Omit): ToastRef; promise(taskOrFactory: Promise | (() => Promise), messages: ToastPromiseMessages): Promise; dismiss(): void; private ensureContainer; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { ToastService }; export type { ToastHorizontalPosition, ToastMessage, ToastOptions, ToastPromiseMessages, ToastRef, ToastVariant, ToastVerticalPosition };