type AnyBrowser = { newContext: (options?: Record) => Promise; close: () => Promise; }; type AnyContext = { newPage: () => Promise; close: () => Promise; }; type AnyPage = { goto: (url: string, options?: Record) => Promise; url: () => string; getByRole: (role: string, options: { name: RegExp | string; }) => { click: (options?: Record) => Promise; }; getByPlaceholder: (placeholder: RegExp | string) => { fill: (value: string, options?: Record) => Promise; }; waitForTimeout: (ms: number) => Promise; waitForURL: (matcher: RegExp | string, options?: Record) => Promise; }; export type StartGoogleMeetOptions = { /** * Existing Meet URL to open. Omit to create a fresh meeting through * https://meet.google.com/new. */ url?: string; /** * Reuse a signed-in Playwright storage state when the account must be * authenticated before creating or joining meetings. */ storageState?: string | Record; browser?: AnyBrowser; headless?: boolean; channel?: string; displayName?: string; join?: boolean; camera?: boolean; microphone?: boolean; timeoutMs?: number; }; export type GoogleMeetSession = { browser: AnyBrowser; context: AnyContext; page: AnyPage; url: string; close: () => Promise; }; /** * Starts or joins Google Meet through Playwright without a human clicking * through the pre-join screen. This does not bypass Google authentication, * Workspace policy, CAPTCHA, or anti-abuse controls; pass `storageState` for a * signed-in tester account when the meeting requires one. */ export declare const startGoogleMeet: (options?: StartGoogleMeetOptions) => Promise; export {}; //# sourceMappingURL=googleMeet.d.ts.map