import { PrismaService } from "../../infra/prisma/prisma.service";
import { CreateUserDto } from "./dto/create-user.dto";
import { UpdateCompanyDto } from "../dashboard/dto/update-company.dto";
export declare class UsersController {
    private readonly prisma;
    constructor(prisma: PrismaService);
    findAllUsers(companyId: string): Promise<{
        createdAt: string;
        id: string;
        email: string;
        name: string;
        role: import(".prisma/client").$Enums.UserRole;
        active: boolean;
        avatarUrl: string | null;
    }[]>;
    createUser(companyId: string, dto: CreateUserDto): Promise<{
        createdAt: string;
        id: string;
        email: string;
        name: string;
        role: import(".prisma/client").$Enums.UserRole;
        active: boolean;
    }>;
    updateUser(companyId: string, id: string, dto: Partial<CreateUserDto>): Promise<{
        createdAt: string;
        id: string;
        email: string;
        name: string;
        role: import(".prisma/client").$Enums.UserRole;
        active: boolean;
    }>;
    deleteUser(companyId: string, id: string): Promise<{
        success: boolean;
    }>;
    getCompany(companyId: string): Promise<{
        id: string;
        email: string;
        createdAt: Date;
        updatedAt: Date;
        legalName: string;
        tradeName: string;
        document: string;
        phone: string | null;
        status: import(".prisma/client").$Enums.TenantStatus;
        plan: string;
        monthlyFee: import("@prisma/client/runtime/library").Decimal;
        dueDay: number;
        lastPaymentStatus: string;
    } | {
        id: string;
        legalName: string;
        tradeName: string;
        document: string;
        email: string;
        phone: string;
        logoUrl: null;
    }>;
    updateCompany(companyId: string, dto: UpdateCompanyDto): Promise<{
        id: string;
        email: string;
        createdAt: Date;
        updatedAt: Date;
        legalName: string;
        tradeName: string;
        document: string;
        phone: string | null;
        status: import(".prisma/client").$Enums.TenantStatus;
        plan: string;
        monthlyFee: import("@prisma/client/runtime/library").Decimal;
        dueDay: number;
        lastPaymentStatus: string;
    }>;
}
