mailinator-client
Version:
Mailinator REST API client for JavaScript applications.
37 lines (36 loc) • 1.82 kB
TypeScript
import WebSocket = require('ws');
import { MessageSummary } from './MessageSummary';
declare const _resolveTemplateUrl: (baseUrl: string, domain: string, full?: boolean, limit?: number, throttleInterval?: string, del?: string) => string;
export interface StreamDomainMessagesRequestOptions {
baseUrl?: string;
webSocketFactory?: StreamDomainMessagesWebSocketFactory;
}
export interface StreamDomainMessagesRequestHandlers {
onMessage: (message: MessageSummary) => void;
onOpen?: () => void;
onError?: (error: Error) => void;
onClose?: (code: number, reason: string) => void;
}
export interface StreamDomainMessagesConnection {
close: (code?: number, reason?: string) => void;
socket: StreamDomainMessagesWebSocket;
}
export interface StreamDomainMessagesWebSocket {
on(event: 'open', listener: () => void): this;
on(event: 'message', listener: (payload: WebSocket.RawData) => void): this;
on(event: 'error', listener: (error: Error) => void): this;
on(event: 'close', listener: (code: number, reason: Buffer) => void): this;
close(code?: number, reason?: string): void;
}
export type StreamDomainMessagesWebSocketFactory = (url: string, apiToken: string) => StreamDomainMessagesWebSocket;
export declare class StreamDomainMessagesRequest {
private readonly domain;
private readonly full?;
private readonly limit?;
private readonly throttleInterval?;
private readonly del?;
private readonly options;
constructor(domain: string, full?: boolean | undefined, limit?: number | undefined, throttleInterval?: string | undefined, del?: string | undefined, options?: StreamDomainMessagesRequestOptions);
execute(apiToken: string, handlers: StreamDomainMessagesRequestHandlers): StreamDomainMessagesConnection;
}
export { _resolveTemplateUrl };