import { StrategicObjectiveService } from '../services/strategic-objective.service';
import { CreateStrategicObjectiveDto, UpdateStrategicObjectiveDto, AssignStrategicObjectiveDto, QueryStrategicObjectiveDto } from '../dto/strategic-objective.dto';
export declare class StrategicObjectiveController {
    private readonly service;
    constructor(service: StrategicObjectiveService);
    findAll(query: QueryStrategicObjectiveDto): Promise<{
        items: ({
            assignments: ({
                assignee: {
                    displayName: string;
                    id: string;
                    email: string;
                };
            } & {
                id: string;
                createdAt: Date;
                deletedAt: Date | null;
                objectiveId: string;
                assigneeId: string;
            })[];
        } & {
            id: string;
            createdAt: Date;
            name: string;
            updatedAt: Date;
            deletedAt: Date | null;
            description: string | null;
            departmentId: string | null;
            createdBy: string;
            cycleId: string;
            seq: number;
        })[];
    }>;
    findById(id: string): Promise<{
        assignments: ({
            assignee: {
                displayName: string;
                id: string;
                email: string;
            };
        } & {
            id: string;
            createdAt: Date;
            deletedAt: Date | null;
            objectiveId: string;
            assigneeId: string;
        })[];
    } & {
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        departmentId: string | null;
        createdBy: string;
        cycleId: string;
        seq: number;
    }>;
    create(dto: CreateStrategicObjectiveDto, userId: string): Promise<{
        assignments: ({
            assignee: {
                displayName: string;
                id: string;
                email: string;
            };
        } & {
            id: string;
            createdAt: Date;
            deletedAt: Date | null;
            objectiveId: string;
            assigneeId: string;
        })[];
    } & {
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        departmentId: string | null;
        createdBy: string;
        cycleId: string;
        seq: number;
    }>;
    update(id: string, dto: UpdateStrategicObjectiveDto): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        departmentId: string | null;
        createdBy: string;
        cycleId: string;
        seq: number;
    }>;
    delete(id: string): Promise<void>;
    assign(id: string, dto: AssignStrategicObjectiveDto): Promise<{
        assignments: ({
            assignee: {
                displayName: string;
                id: string;
                email: string;
            };
        } & {
            id: string;
            createdAt: Date;
            deletedAt: Date | null;
            objectiveId: string;
            assigneeId: string;
        })[];
    } & {
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        departmentId: string | null;
        createdBy: string;
        cycleId: string;
        seq: number;
    }>;
}
