import type { CurrentUserPayload } from "../../common/decorators/current-user.decorator";
import { ColumnConfigService } from './services/column-config.service';
import { CreateColumnConfigDto, UpdateColumnConfigDto, QueryColumnConfigDto, CopyColumnConfigDto } from './dto/column-config.dto';
export declare class ColumnConfigController {
    private readonly columnConfigService;
    constructor(columnConfigService: ColumnConfigService);
    findAll(query: QueryColumnConfigDto, user: CurrentUserPayload): 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;
    }>;
    getDefault(user: CurrentUserPayload): 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>;
    findOne(id: string, user: CurrentUserPayload): 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, user: CurrentUserPayload): 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, user: CurrentUserPayload): 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, user: CurrentUserPayload): Promise<{
        success: boolean;
    }>;
    setDefault(id: string, user: CurrentUserPayload): 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, user: CurrentUserPayload): 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;
    }>;
}
