// Type definitions for angularjs-toaster v0.4.13 // Project: https://github.com/jirikavi/AngularJS-Toaster // Definitions by: Ben Tesser <https://github.com/btesser> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// <reference path="../angularjs/angular.d.ts" /> declare namespace ngtoaster { interface IToasterService { pop(params:IPopParams): void /** * @param {string} type Type of toaster -- 'error', 'info', 'wait', 'success', and 'warning' */ pop(type?:string, title?:string, body?:string, timeout?:number, bodyOutputType?:string, clickHandler?:EventListener, toasterId?:number, showCloseButton?:boolean): void error(params: IPopParams): void error(title?:string, body?:string, timeout?:number, bodyOutputType?:string, clickHandler?:EventListener, toasterId?:number): void info(params: IPopParams): void info(title?:string, body?:string, timeout?:number, bodyOutputType?:string, clickHandler?:EventListener, toasterId?:number): void wait(params: IPopParams): void wait(title?:string, body?:string, timeout?:number, bodyOutputType?:string, clickHandler?:EventListener, toasterId?:number): void success(params: IPopParams): void success(title?:string, body?:string, timeout?:number, bodyOutputType?:string, clickHandler?:EventListener, toasterId?:number): void warning(params: IPopParams): void warning(title?:string, body?:string, timeout?:number, bodyOutputType?:string, clickHandler?:EventListener, toasterId?:number): void clear(): void toast:IToast; } interface IToasterEventRegistry { setup(): void subscribeToNewToastEvent(onNewToast:IToastEventListener): void subscribeToClearToastsEvent(onClearToasts:IToastEventListener): void unsubscribeToNewToastEvent(onNewToast:IToastEventListener): void unsubscribeToClearToastsEvent(onClearToasts:IToastEventListener): void } interface IPopParams extends IToast{ toasterId?: number; } interface IToastEventListener { (event:Event, toasterId: number): void; } interface IToast { /** * Acceptable types are: * 'error', 'info', 'wait', 'success', and 'warning' */ type?: string; title?: string; body?: string; timeout?: number; bodyOutputType?: string; clickHandler?: EventListener; showCloseButton?: boolean; } interface IToasterConfig { /** * limits max number of toasts */ limit?: number; 'tap-to-dismiss'?: boolean; 'close-button'?: boolean; 'newest-on-top'?: boolean; 'time-out'?: number; 'icon-classes'?: IIconClasses; /** * Options include: * '', 'trustedHtml', 'template', 'templateWithData' */ 'body-output-type'?: string; 'body-template'?: string; 'icon-class'?: string; /** * Options include: * 'toast-top-full-width', 'toast-bottom-full-width', 'toast-center', * 'toast-top-left', 'toast-top-center', 'toast-top-rigt', * 'toast-bottom-left', 'toast-bottom-center', 'toast-bottom-rigt', */ 'position-class'?: string; 'title-class'?: string; 'message-class'?: string; 'prevent-duplicates'?: boolean; /** * stop timeout on mouseover and restart timer on mouseout */ 'mouseover-timer-stop'?: boolean; } interface IIconClasses { error: string; info: string; wait: string; success: string; warning: string; } } declare module "ngtoaster" { export = ngtoaster }