import { PrismaService } from "../../../core/database/prisma/prisma.service";
import { CreateColumnConfigDto, UpdateColumnConfigDto, QueryColumnConfigDto, CopyColumnConfigDto } from '../dto/column-config.dto';
export declare class ColumnConfigService {
    private prisma;
    constructor(prisma: PrismaService);
    findAll(userId: string, query: QueryColumnConfigDto): Promise<{
        items: {
            id: string;
            createdAt: Date;
            userId: string | null;
            name: string;
            metadata: import("@prisma/client/runtime/library").JsonValue;
            updatedAt: Date;
            description: string | null;
            isPublic: boolean;
            isDefault: boolean;
            columns: import("@prisma/client/runtime/library").JsonValue;
            isTemplate: boolean;
        }[];
        total: number;
    }>;
    findOne(id: string, userId: string): Promise<{
        id: string;
        createdAt: Date;
        userId: string | null;
        name: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        updatedAt: Date;
        description: string | null;
        isPublic: boolean;
        isDefault: boolean;
        columns: import("@prisma/client/runtime/library").JsonValue;
        isTemplate: boolean;
    }>;
    create(createDto: CreateColumnConfigDto, userId: string): Promise<{
        id: string;
        createdAt: Date;
        userId: string | null;
        name: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        updatedAt: Date;
        description: string | null;
        isPublic: boolean;
        isDefault: boolean;
        columns: import("@prisma/client/runtime/library").JsonValue;
        isTemplate: boolean;
    }>;
    update(id: string, updateDto: UpdateColumnConfigDto, userId: string): Promise<{
        id: string;
        createdAt: Date;
        userId: string | null;
        name: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        updatedAt: Date;
        description: string | null;
        isPublic: boolean;
        isDefault: boolean;
        columns: import("@prisma/client/runtime/library").JsonValue;
        isTemplate: boolean;
    }>;
    remove(id: string, userId: string): Promise<{
        success: boolean;
    }>;
    setDefault(id: string, userId: string): Promise<{
        id: string;
        createdAt: Date;
        userId: string | null;
        name: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        updatedAt: Date;
        description: string | null;
        isPublic: boolean;
        isDefault: boolean;
        columns: import("@prisma/client/runtime/library").JsonValue;
        isTemplate: boolean;
    }>;
    copy(id: string, copyDto: CopyColumnConfigDto, userId: string): Promise<{
        id: string;
        createdAt: Date;
        userId: string | null;
        name: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        updatedAt: Date;
        description: string | null;
        isPublic: boolean;
        isDefault: boolean;
        columns: import("@prisma/client/runtime/library").JsonValue;
        isTemplate: boolean;
    }>;
    getDefault(userId: string): Promise<{
        id: string;
        createdAt: Date;
        userId: string | null;
        name: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        updatedAt: Date;
        description: string | null;
        isPublic: boolean;
        isDefault: boolean;
        columns: import("@prisma/client/runtime/library").JsonValue;
        isTemplate: boolean;
    } | null>;
    getSystemDefault(): Promise<{
        id: string;
        createdAt: Date;
        userId: string | null;
        name: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        updatedAt: Date;
        description: string | null;
        isPublic: boolean;
        isDefault: boolean;
        columns: import("@prisma/client/runtime/library").JsonValue;
        isTemplate: boolean;
    } | null>;
}
