import { User } from '../../entities/user.entity';
import { UsersService } from './users.service';
import { GoogleAuthService } from '../auth/google-auth.service';
export declare class UsersController {
    private readonly usersService;
    private readonly googleAuthService;
    constructor(usersService: UsersService, googleAuthService: GoogleAuthService);
    me(user: User): Promise<{
        effectiveSettings: {
            maxBuildSizeMb: number;
            cicdEnabled: boolean;
            slackEnabled: boolean;
        };
        googleDrive: {
            hasAccess: boolean;
            tokenExpiry: Date | null;
            isExpired: boolean;
            needsReauth: boolean;
        };
        id: string;
        googleId: string | null;
        email: string;
        password: string | null;
        name: string;
        profilePhoto: string | null;
        showUploaderInfo: boolean;
        role: string;
        isActive: boolean;
        lastActiveAt: Date | null;
        buildLinkExpiryDays: number | null;
        aiReleaseNotesEnabled: boolean | null;
        maxBuildSizeMb: number | null;
        cicdEnabled: boolean | null;
        slackEnabled: boolean | null;
        slackAccessToken: string | null;
        slackWorkspaceId: string | null;
        slackWebhookUrl: string | null;
        slackChannelId: string | null;
        slackBotUserId: string | null;
        createdAt: Date;
        apps: import("../../entities/app.entity").App[];
    }>;
    checkDriveAccess(user: User): Promise<{
        valid: boolean;
        message: string;
        needsReauth?: undefined;
    } | {
        valid: boolean;
        needsReauth: any;
        message: any;
    }>;
    updateMe(user: User, name?: string, showUploaderInfo?: boolean): Promise<{
        id: string;
        googleId: string | null;
        email: string;
        password: string | null;
        name: string;
        profilePhoto: string | null;
        showUploaderInfo: boolean;
        role: string;
        isActive: boolean;
        lastActiveAt: Date | null;
        buildLinkExpiryDays: number | null;
        aiReleaseNotesEnabled: boolean | null;
        maxBuildSizeMb: number | null;
        cicdEnabled: boolean | null;
        slackEnabled: boolean | null;
        slackAccessToken: string | null;
        slackWorkspaceId: string | null;
        slackWebhookUrl: string | null;
        slackChannelId: string | null;
        slackBotUserId: string | null;
        createdAt: Date;
        apps: import("../../entities/app.entity").App[];
    }>;
}
