import { PrismaService } from "../../../core/database/prisma/prisma.service";
export declare class StrategicObjectiveService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    findAll(query: {
        cycleId?: string;
        organizationId?: 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;
    })[]>;
    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(data: {
        name: string;
        description?: string;
        cycleId: string;
        departmentId?: string;
        seq?: number;
        createdBy: string;
        assigneeIds?: 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, data: {
        name?: string;
        description?: string;
        departmentId?: string;
        seq?: number;
    }): 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, assigneeIds: 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;
    }>;
}
