import { PositionsService } from './positions.service';
import { CreatePositionDto, UpdatePositionDto, PositionQueryDto } from './dto/position.dto';
export declare class PositionsController {
    private readonly positionsService;
    constructor(positionsService: PositionsService);
    findAll(query: PositionQueryDto): Promise<({
        _count: {
            userMemberships: number;
        };
    } & {
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        level: number;
    })[]>;
    findOne(id: string): Promise<{
        userMemberships: ({
            department: {
                id: string;
                name: string;
            };
            user: {
                displayName: string;
                id: string;
                status: import("@prisma/client").$Enums.UserStatus;
                username: string;
                email: string;
            };
        } & {
            title: string | null;
            id: string;
            createdAt: Date;
            userId: string;
            updatedAt: Date;
            organizationId: string;
            departmentId: string;
            positionId: string | null;
            managerId: string | null;
            isPrimary: boolean;
            joinedAt: Date;
            leftAt: Date | null;
        })[];
    } & {
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        level: number;
    }>;
    create(createPositionDto: CreatePositionDto): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        level: number;
    }>;
    update(id: string, updatePositionDto: UpdatePositionDto): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        level: number;
    }>;
    remove(id: string): Promise<{
        message: string;
    }>;
}
