import { Repository } from 'typeorm';
import { User } from '../../entities/user.entity';
import { PlatformSettings } from '../../entities/platform-settings.entity';
export interface GoogleProfile {
    id: string;
    email: string;
    displayName: string;
    profilePhoto?: string | null;
}
export declare class UsersService {
    private readonly userRepo;
    private readonly settingsRepo;
    constructor(userRepo: Repository<User>, settingsRepo: Repository<PlatformSettings>);
    findOrCreate(googleId: string, email: string, name: string, tokens?: {
        accessToken: string;
        refreshToken: string;
        expiry: number;
    }, profilePhoto?: string | null): Promise<User>;
    findById(id: string): Promise<User | null>;
    updateTokens(userId: string, accessToken: string | null, refreshToken: string | null, expiry: number | null): Promise<void>;
    getEffectiveSettings(user: User): Promise<{
        maxBuildSizeMb: number;
        cicdEnabled: boolean;
        slackEnabled: boolean;
    }>;
    updateUser(userId: string, updates: {
        name?: string;
        showUploaderInfo?: boolean;
    }): Promise<User>;
}
