import type { Config } from '../../types/index.js'; /** * Supported authentication providers */ export type AuthProvider = 'clerk' | 'auth0' | 'nextauth' | 'custom' | 'none'; /** * Authentication configuration */ export interface AuthConfig { provider: AuthProvider; /** Email/username for login */ email?: string; /** Password for login */ password?: string; /** Custom selectors for login form (optional) */ selectors?: { emailInput?: string; passwordInput?: string; submitButton?: string; signInButton?: string; }; } /** * Service for opening deployment previews with automated authentication * Supports credential-based login for Clerk, Auth0, and custom providers */ export declare class PreviewService { private readonly config; constructor(config: Config); /** * Ensure the user data directory exists */ private ensureUserDataDir; /** * Get authentication config from environment and config */ private getAuthConfig; /** * Check if a page requires login */ private requiresLogin; /** * Perform automated login based on provider */ private performLogin; /** * Login with Clerk authentication */ private loginWithClerk; /** * Login with Auth0 authentication */ private loginWithAuth0; /** * Login with NextAuth/next-auth */ private loginWithNextAuth; /** * Login with custom selectors */ private loginWithCustom; /** * Generic login attempt */ private loginGeneric; /** * Open a deployment URL with automated login * * @param url - The deployment URL to open * @param options - Optional settings * @returns true if browser opened and login successful */ openWithAutoLogin(url: string, options?: { keepOpen?: boolean; }): Promise; /** * Open a URL in the background with auto-login (fire-and-forget) * The browser opens and the CLI returns immediately */ openInBackground(url: string): Promise; /** * Clear the saved preview session */ clearSession(): Promise; } //# sourceMappingURL=PreviewService.d.ts.map