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.
		
		
		
		
		
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			996 B
		
	
	
	
		
			TypeScript
		
	
			
		
		
	
	
			30 lines
		
	
	
		
			996 B
		
	
	
	
		
			TypeScript
		
	
import {
 | 
						|
  ClosedGroupMessage,
 | 
						|
  ContentMessage,
 | 
						|
  MediumGroupMessage,
 | 
						|
  OpenGroupMessage,
 | 
						|
  SyncMessage,
 | 
						|
} from '../messages/outgoing';
 | 
						|
import { RawMessage } from '../types/RawMessage';
 | 
						|
import { TypedEventEmitter } from '../utils';
 | 
						|
import { PubKey } from '../types';
 | 
						|
 | 
						|
type GroupMessageType = OpenGroupMessage | ClosedGroupMessage | MediumGroupMessage;
 | 
						|
 | 
						|
export interface MessageQueueInterfaceEvents {
 | 
						|
  success: (
 | 
						|
    message: RawMessage | OpenGroupMessage,
 | 
						|
    wrappedEnvelope?: Uint8Array
 | 
						|
  ) => void;
 | 
						|
  fail: (message: RawMessage | OpenGroupMessage, error: Error) => void;
 | 
						|
}
 | 
						|
 | 
						|
export interface MessageQueueInterface {
 | 
						|
  events: TypedEventEmitter<MessageQueueInterfaceEvents>;
 | 
						|
  sendUsingMultiDevice(user: PubKey, message: ContentMessage): Promise<void>;
 | 
						|
  send(device: PubKey, message: ContentMessage): Promise<void>;
 | 
						|
  sendToGroup(message: GroupMessageType): Promise<void>;
 | 
						|
  sendSyncMessage(message: SyncMessage | undefined): Promise<void>;
 | 
						|
  processPending(device: PubKey): Promise<void>;
 | 
						|
}
 |