import { BrowserContext, Page } from "playwright"; import notion from "./apps/notion"; import docusign from "./apps/docusign"; import jira from "./apps/jira"; export type Collaborator = { fullName: string; email: string; }; export type App = { name: string; userAuthEnvVars: { email: string; password: string }; login: (user: User, page: Page, context: BrowserContext) => Promise; cacheAuth: (page: Page, context: BrowserContext) => Promise; restoreAuthCache: ( cache: AuthCache, page: Page, context: BrowserContext, ) => Promise; listCollaborators: ( page: Page, context: BrowserContext, ) => Promise>; addCollaborator: ( collaborator: Collaborator, page: Page, context: BrowserContext, ) => Promise; removeCollaborator: ( collaborator: { email: string }, page: Page, context: BrowserContext, ) => Promise; }; export const apps = { notion, docusign, jira, };