You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
853 B
TypeScript
27 lines
853 B
TypeScript
import {
|
|
ClosedGroupMessage,
|
|
ContentMessage,
|
|
OpenGroupMessage,
|
|
} from '../messages/outgoing';
|
|
import { RawMessage } from '../types/RawMessage';
|
|
import { TypedEventEmitter } from '../utils';
|
|
import { PubKey } from '../types';
|
|
|
|
type GroupMessageType = OpenGroupMessage | ClosedGroupMessage;
|
|
|
|
export interface MessageQueueInterfaceEvents {
|
|
success: (message: RawMessage | OpenGroupMessage) => void;
|
|
fail: (message: RawMessage | OpenGroupMessage, error: Error) => void;
|
|
}
|
|
|
|
export interface MessageQueueInterface {
|
|
events: TypedEventEmitter<MessageQueueInterfaceEvents>;
|
|
sendUsingMultiDevice(user: PubKey, message: ContentMessage): void;
|
|
send(device: PubKey, message: ContentMessage): void;
|
|
sendToGroup(message: GroupMessageType): void;
|
|
sendSyncMessage(
|
|
message: ContentMessage,
|
|
sendTo: Array<PubKey>
|
|
): Promise<Array<void>>;
|
|
}
|