import { CallHandler, ExecutionContext, NestInterceptor } from "@nestjs/common"; import { Observable } from "rxjs"; import { GoogleAuthService } from "../services/google-auth.service"; /** * Interceptor that extracts a Google OAuth authorization code from the * `code` query parameter, exchanges it via {@link GoogleAuthService}, * and attaches the result to `req.googleAuthResult`. * * Use the {@link GoogleCallback} decorator to apply this interceptor * to a controller method. * * @throws {GoogleCodeExchangeException} If the `code` query parameter is missing * * @example * ```typescript * @Get('callback') * @GoogleCallback() * public handleCallback(@GetGoogleAuthResult() result: GoogleAuthResult): void { * // result.entity, result.isNewUser, result.profile * } * ``` */ export declare class GoogleCallbackInterceptor implements NestInterceptor { private readonly googleAuthService; constructor(googleAuthService: GoogleAuthService); intercept(context: ExecutionContext, next: CallHandler): Promise>; }