import { FcmOfficeOptions } from './offices/FcmOffice'; import { GmailOfficeOptions } from './offices/GmailOffice'; import { Office, OfficeOptions } from './offices/Office'; import { OnesignalOfficeOptions } from './offices/OnesignalOffice'; import { SendgridOfficeOptions } from './offices/SendgridOffice'; export declare enum ServiceType { gmail = "gmail", fcm = "fcm", sendgrid = "sendgrid", onesignal = "onesignal" } export declare type ServiceOptions = { service: ServiceType; settings: OfficeOptions; } & ({ service: ServiceType.fcm; settings: FcmOfficeOptions; } | { service: ServiceType.gmail; settings: GmailOfficeOptions; } | { service: ServiceType.onesignal; settings: OnesignalOfficeOptions; } | { service: ServiceType.sendgrid; settings: SendgridOfficeOptions; }); export interface WrappedOffice { office: Office; compileLodashTemplate: (templateString: string, context: any) => (...args: any[]) => string; } export declare const instances: Map; export declare const createOffice: (options: ServiceOptions, ident?: string) => void;