import { PrismaService } from "../../../core/database/prisma/prisma.service";
export declare class Evaluation360TemplateService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    findAll(query?: {
        organizationId?: string;
    }): Promise<{
        items: {
            id: string;
            createdAt: Date;
            name: string;
            updatedAt: Date;
            deletedAt: Date | null;
            description: string | null;
            organizationId: string | null;
            isActive: boolean;
            scope: import("@prisma/client/runtime/library").JsonValue | null;
            createdBy: string;
            isDefault: boolean;
            cycleId: string | null;
            dimensions: import("@prisma/client/runtime/library").JsonValue;
            relationshipTypes: import("@prisma/client/runtime/library").JsonValue;
        }[];
    }>;
    findById(id: string): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        organizationId: string | null;
        isActive: boolean;
        scope: import("@prisma/client/runtime/library").JsonValue | null;
        createdBy: string;
        isDefault: boolean;
        cycleId: string | null;
        dimensions: import("@prisma/client/runtime/library").JsonValue;
        relationshipTypes: import("@prisma/client/runtime/library").JsonValue;
    }>;
    create(data: {
        name: string;
        description?: string;
        dimensions: any[];
        relationshipTypes: string[];
        isDefault?: boolean;
        organizationId?: string;
        cycleId?: string;
        scope?: any;
    }, userId: string): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        organizationId: string | null;
        isActive: boolean;
        scope: import("@prisma/client/runtime/library").JsonValue | null;
        createdBy: string;
        isDefault: boolean;
        cycleId: string | null;
        dimensions: import("@prisma/client/runtime/library").JsonValue;
        relationshipTypes: import("@prisma/client/runtime/library").JsonValue;
    }>;
    update(id: string, data: {
        name?: string;
        description?: string;
        dimensions?: any[];
        relationshipTypes?: string[];
        isDefault?: boolean;
        isActive?: boolean;
        organizationId?: string;
        cycleId?: string;
        scope?: any;
    }): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        organizationId: string | null;
        isActive: boolean;
        scope: import("@prisma/client/runtime/library").JsonValue | null;
        createdBy: string;
        isDefault: boolean;
        cycleId: string | null;
        dimensions: import("@prisma/client/runtime/library").JsonValue;
        relationshipTypes: import("@prisma/client/runtime/library").JsonValue;
    }>;
    findApplicable(userId: string, cycleId?: string): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        organizationId: string | null;
        isActive: boolean;
        scope: import("@prisma/client/runtime/library").JsonValue | null;
        createdBy: string;
        isDefault: boolean;
        cycleId: string | null;
        dimensions: import("@prisma/client/runtime/library").JsonValue;
        relationshipTypes: import("@prisma/client/runtime/library").JsonValue;
    } | null>;
    private matchesScope;
    delete(id: string): Promise<{
        success: boolean;
    }>;
    setDefault(id: string): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        deletedAt: Date | null;
        description: string | null;
        organizationId: string | null;
        isActive: boolean;
        scope: import("@prisma/client/runtime/library").JsonValue | null;
        createdBy: string;
        isDefault: boolean;
        cycleId: string | null;
        dimensions: import("@prisma/client/runtime/library").JsonValue;
        relationshipTypes: import("@prisma/client/runtime/library").JsonValue;
    }>;
}
