import { CanActivate, ExecutionContext } from "@nestjs/common";
import { SupabaseClient, User } from "@supabase/supabase-js";
import { Request } from "express";
export declare class SupabaseAuthGuard implements CanActivate {
    supabaseClient: SupabaseClient<any, "public", any>;
    private readonly logger;
    constructor(client?: SupabaseClient);
    private initializeSupabaseClient;
    canActivate(context: ExecutionContext): Promise<boolean>;
    authenticateRequest(request: any): Promise<User>;
    extractTokenFromHeader(request: Request): string | undefined;
    getUserFromJWT(token: string): Promise<User | undefined>;
}
