import type { RouterLink } from '@angular/router';
import type { NxNotificationType } from './nx-notification.component';
export interface NxNotificationAction {
    label: string;
    action: (close: () => void) => void;
}
export interface NxNotificationDetailHref {
    label: string;
    href: string;
    target?: HTMLAnchorElement['target'];
}
export interface NxNotificationDetailRouterLink extends Partial<Pick<RouterLink, 'target' | 'queryParams' | 'fragment' | 'queryParamsHandling' | 'state' | 'info' | 'relativeTo' | 'preserveFragment' | 'skipLocationChange' | 'replaceUrl'>> {
    label: string;
    routerLink: RouterLink['routerLink'];
}
export interface NxNotificationConfig {
    type?: NxNotificationType;
    /** Length of time in ms before automatically closing */
    duration?: number;
    /** Link to more detailed information */
    details?: NxNotificationDetailHref | NxNotificationDetailRouterLink;
    primaryAction?: NxNotificationAction;
    secondaryAction?: NxNotificationAction;
}
