import { OnModuleInit } from '@nestjs/common';
import { Repository } from 'typeorm';
import { User } from './user.entity';
import { Role } from './role.entity';
import { Permission } from './permission.entity';
import { TransactionsService } from '../transactions/transactions.service';
export declare class UsersService implements OnModuleInit {
    private usersRepository;
    private rolesRepository;
    private permissionsRepository;
    private transactionsService;
    constructor(usersRepository: Repository<User>, rolesRepository: Repository<Role>, permissionsRepository: Repository<Permission>, transactionsService: TransactionsService);
    onModuleInit(): Promise<void>;
    private seedPermissionsAndRoles;
    findAll(): Promise<User[]>;
    findOne(id: number): Promise<User | null>;
    findOneByEmail(email: string): Promise<User | null>;
    create(userData: Partial<User>): Promise<User>;
    update(id: number, userData: Partial<User>): Promise<User | null>;
    findAllRoles(): Promise<Role[]>;
    findAllPermissions(): Promise<Permission[]>;
    remove(id: number): Promise<void>;
    createRole(roleData: Partial<Role>): Promise<Role>;
    updateRole(id: number, roleData: Partial<Role>): Promise<Role | null>;
    removeRole(id: number): Promise<void>;
}
