import 'isomorphic-unfetch'; import dayjs from 'dayjs'; import { ClientConfig } from './Intellipush.types'; import { IIntellipushClient } from './Intellipush.client'; import { IContactListModule, IContactModule, ISMSModule, ITwoFactorModule, IUrlModule, IUserModule } from './API'; export interface IIntellipush { client: IIntellipushClient; get contact(): IContactModule; get contactList(): IContactListModule; get sms(): ISMSModule; get twoFactor(): ITwoFactorModule; get url(): IUrlModule; get user(): IUserModule; authenticate(): Promise; setToken(token: string): void; getToken(): string; } export default class Intellipush implements IIntellipush { readonly client: IIntellipushClient; static dayjs: typeof dayjs; constructor(config: ClientConfig); authenticate(): Promise; get contact(): IContactModule; get contactList(): IContactListModule; get sms(): ISMSModule; get twoFactor(): ITwoFactorModule; get url(): IUrlModule; get user(): IUserModule; getToken(): string; setToken(token: string): void; }