export declare class Notice { private stateValue; private messageValue; private task?; private lifetime; private timer?; get state(): Notice.State; set state(value: Notice.State); private listeners; get message(): string; set message(value: string); private constructor(); listen(listener: Notice.Listener): void; unlisten(listener: Notice.Listener): void; private emit; private execute; private startCloseTimer; close(): void; private clearTimer; static delay(message: string, task: Notice.Task, lifetime?: number): Notice; static execute(message: string, task: Notice.Task, lifetime?: number): Notice; static succeeded(message: string, lifetime?: number): Notice; static failed(message: string, lifetime?: number): Notice; static warn(message: string, lifetime?: number): Notice; } export declare namespace Notice { type State = "delayed" | "executing" | "success" | "warning" | "failed" | "closed"; type Listener = (notice: Notice) => void; type Task = (notice: Notice) => Promise<[boolean, string]>; }