-
Notifications
You must be signed in to change notification settings - Fork 792
Expand file tree
/
Copy pathMessage.d.ts
More file actions
47 lines (34 loc) · 1.22 KB
/
Message.d.ts
File metadata and controls
47 lines (34 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import {EventEmitter} from 'events'
import {ExtraHeaders, Originator, OutgoingListener, SessionDirection, TerminateOptions} from './RTCSession'
import {IncomingResponse} from './SIPMessage'
import {NameAddrHeader} from './NameAddrHeader'
import {causes} from './Constants';
export interface AcceptOptions extends ExtraHeaders {
body?: string;
}
export interface MessageFailedEvent {
originator: Originator;
response: IncomingResponse;
cause?: causes;
}
export type MessageFailedListener = (event: MessageFailedEvent) => void;
export interface MessageEventMap {
succeeded: OutgoingListener;
failed: MessageFailedListener;
}
export interface SendMessageOptions extends ExtraHeaders {
contentType?: string;
eventHandlers?: Partial<MessageEventMap>;
fromUserName?: string;
fromDisplayName?: string;
callId?: string;
}
export class Message extends EventEmitter {
get direction(): SessionDirection;
get local_identity(): NameAddrHeader;
get remote_identity(): NameAddrHeader;
send(target: string, body: string, options?: SendMessageOptions): void;
accept(options: AcceptOptions): void;
reject(options: TerminateOptions): void;
on<T extends keyof MessageEventMap>(type: T, listener: MessageEventMap[T]): this;
}