import * as i0 from '@angular/core'; import { OnChanges, EventEmitter, SimpleChanges } from '@angular/core'; import * as i1 from '@sbb-esta/angular/core'; import * as i3 from '@sbb-esta/angular/icon'; import { AnimationEvent, AnimationTriggerMetadata } from '@angular/animations'; import { Observable } from 'rxjs'; declare class SbbNotificationIcon { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface SbbJumpMark { /** Title of an element in jump marks. */ title: string; /** Identifier of an element in jump marks. */ elementId?: string; /** Callback to be called on click on the jump mark. */ callback?: (event$: any, jumpMark: SbbJumpMark) => void; } /** The supported types of notifications. */ type SbbNotificationType = 'success' | 'info' | 'info-light' | 'warn' | 'error'; /** Notification event. */ interface SbbNotificationEvent { notification: SbbNotification; } declare const _SbbNotificationMixinBase: i1.AbstractConstructor & { new (): {}; }; declare class SbbNotification extends _SbbNotificationMixinBase implements OnChanges { private _changeDetectorRef; /** Whether this notification is closed. */ _closed: boolean; /** The animation state of this notification. */ _animationState: 'visible' | 'dismissed'; /** The id of this element. */ id: string; /** * Type of notification. * In standard design, the types 'warn' and 'error' are equal. */ type: SbbNotificationType; /** * Whether the notification is closable. * This only work for lean design, as with standard it is always readonly. */ get readonly(): boolean; set readonly(value: boolean); private _readonly; /** * The icon to be used for the notification. * Must be a valid svgIcon input for sbb-icon. */ svgIcon: string | null; /** List of in page links displayed on the bottom of the notification */ jumpMarks?: SbbJumpMark[]; /** Observable which emits when the notification was closed */ readonly dismissed: EventEmitter; /** Provided icon directive, if available. */ _notificationIcon?: SbbNotificationIcon; /** An observable of the current icon. */ _svgIcon: Observable; /** Subject for the current indicator icon. */ private _svgIconSubject; constructor(...args: unknown[]); ngOnChanges(changes: SimpleChanges): void; /** * Used to scroll to an element identified by a jump mark */ _scrollTo(event: MouseEvent, jumpMark: SbbJumpMark): void; /** Close notification */ dismiss(): void; /** @docs-private */ _handleAnimation(event: AnimationEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_readonly: unknown; } declare class SbbNotificationModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** Animations used by notifications. */ declare const sbbNotificationAnimations: { readonly showDismiss: AnimationTriggerMetadata; }; export { SbbNotification, SbbNotificationIcon, SbbNotificationModule, sbbNotificationAnimations }; export type { SbbJumpMark, SbbNotificationEvent, SbbNotificationType };