Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ContactProvider.ts « src - github.com/jsxc/jsxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 317a7a7f5376900031a7b843d68dd0e33fb45531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { IContact } from './Contact.interface';
import { IJID } from './JID.interface';
import ContactManager from './ContactManager';

export default abstract class ContactProvider {
   public abstract getUid(): string;

   public abstract load(): Promise<IContact[]>;

   public abstract add(contact: IContact): Promise<boolean>;

   public abstract createContact(jid: IJID, name?: string): IContact;
   public abstract createContact(id: string): IContact;

   public abstract deleteContact(jid: IJID): Promise<void>;

   constructor(protected contactManager: ContactManager) {}
}