import * as messages from '../../shared/messages'; export default interface TabsClient { openUrl(url: string, newTab: boolean, background?: boolean): Promise; } export class TabsClientImpl implements TabsClient { async openUrl( url: string, newTab: boolean, background?: boolean, ): Promise { await browser.runtime.sendMessage({ type: messages.OPEN_URL, url, newTab, background, }); } }