/** * PuestoService - Servicio para catálogo de puestos * * Gestión de puestos de trabajo con CRUD básico. * * @module HR */ import { Repository } from 'typeorm'; import { Puesto } from '../entities/puesto.entity'; import { ServiceContext, PaginatedResult } from '../../../shared/services/base.service'; export interface CreatePuestoDto { codigo: string; nombre: string; descripcion?: string; nivelRiesgo?: string; requiereCapacitacionEspecial?: boolean; } export interface UpdatePuestoDto { nombre?: string; descripcion?: string; nivelRiesgo?: string; requiereCapacitacionEspecial?: boolean; activo?: boolean; } export interface PuestoFilters { activo?: boolean; nivelRiesgo?: string; search?: string; } export declare class PuestoService { private readonly repository; constructor(repository: Repository); findAll(ctx: ServiceContext, filters?: PuestoFilters, page?: number, limit?: number): Promise>; findById(ctx: ServiceContext, id: string): Promise; findByCodigo(ctx: ServiceContext, codigo: string): Promise; create(ctx: ServiceContext, dto: CreatePuestoDto): Promise; update(ctx: ServiceContext, id: string, dto: UpdatePuestoDto): Promise; toggleActive(ctx: ServiceContext, id: string): Promise; getActiveCount(ctx: ServiceContext): Promise; } //# sourceMappingURL=puesto.service.d.ts.map