import Vue, { VNode } from 'vue' import { MessageType } from './message' export type NotificationPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' /** Notification Component */ export declare class ElNotificationComponent extends Vue { /** Close the Notification instance */ close (): void } export interface ElNotificationOptions { /** Title */ title: string /** Description text */ message: string | VNode /** Notification type */ type?: MessageType /** Custom icon's class. It will be overridden by type */ iconClass?: string /** Custom class name for Notification */ customClass?: string /** Duration before close. It will not automatically close if set 0 */ duration?: number /** Whether to show a close button */ showClose?: boolean /** Whether message is treated as HTML string */ dangerouslyUseHTMLString?: boolean /** Callback function when closed */ onClose?: () => void /** Callback function when notification clicked */ onClick?: () => void /** Offset from the top edge of the screen. Every Notification instance of the same moment should have the same offset */ offset?: number /** custom position */ position?: NotificationPosition } export interface ElNotification { /** Show a notification */ (options: ElNotificationOptions): ElNotificationComponent /** Show a success notification */ success (message: string | VNode): ElNotificationComponent /** Show a success notification */ success (options: ElNotificationOptions): ElNotificationComponent /** Show a warning notification */ warning (message: string | VNode): ElNotificationComponent /** Show a warning notification */ warning (options: ElNotificationOptions): ElNotificationComponent /** Show an info notification */ info (message: string | VNode): ElNotificationComponent /** Show an info notification */ info (options: ElNotificationOptions): ElNotificationComponent /** Show an error notification */ error (message: string | VNode): ElNotificationComponent /** Show an error notification */ error (options: ElNotificationOptions): ElNotificationComponent } declare module 'vue/types/vue' { interface Vue { /** Displays a global notification message at the upper right corner of the page */ $notify: ElNotification } }