import { PrismaService } from '../prisma/prisma.service';
import { CreatePricingDetailDto, UpdatePricingDetailDto, UpdatePriceDto } from './dto/pricing-detail.dto';
import { SettingStatus } from 'generated/prisma/client';
import { BootstrapTableRequestDto } from 'src/commons/dto/bootstrap-table-request.dto';
import { BootstrapTableResponseDto } from 'src/commons/dto/bootstrap-table-response.dto';
export declare class PricingDetailService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    findAll(query: BootstrapTableRequestDto, headerId?: string, itemTypeId?: string): Promise<BootstrapTableResponseDto<{
        itemType: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            desc: string | null;
            status: SettingStatus;
        };
        header: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            status: SettingStatus;
            itemTypeId: string;
            description: string | null;
            weight: number;
            unit: string;
            effectiveDate: Date;
        };
    } & {
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        status: SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdBy: string;
        modifiedBy: string;
        itemTypeId: string;
        headerId: string;
        weight: number;
        unit: string;
        pricePerUnit: import("@prisma/client/runtime/client").Decimal;
    }>>;
    findOne(id: string): Promise<{
        itemType: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            desc: string | null;
            status: SettingStatus;
        };
        header: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            status: SettingStatus;
            itemTypeId: string;
            description: string | null;
            weight: number;
            unit: string;
            effectiveDate: Date;
        };
    } & {
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        status: SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdBy: string;
        modifiedBy: string;
        itemTypeId: string;
        headerId: string;
        weight: number;
        unit: string;
        pricePerUnit: import("@prisma/client/runtime/client").Decimal;
    }>;
    findActiveByHeader(headerId: string): Promise<{
        itemType: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            desc: string | null;
            status: SettingStatus;
        };
        header: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            status: SettingStatus;
            itemTypeId: string;
            description: string | null;
            weight: number;
            unit: string;
            effectiveDate: Date;
        };
    } & {
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        status: SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdBy: string;
        modifiedBy: string;
        itemTypeId: string;
        headerId: string;
        weight: number;
        unit: string;
        pricePerUnit: import("@prisma/client/runtime/client").Decimal;
    }>;
    create(dto: CreatePricingDetailDto): Promise<{
        itemType: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            desc: string | null;
            status: SettingStatus;
        };
        header: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            status: SettingStatus;
            itemTypeId: string;
            description: string | null;
            weight: number;
            unit: string;
            effectiveDate: Date;
        };
    } & {
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        status: SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdBy: string;
        modifiedBy: string;
        itemTypeId: string;
        headerId: string;
        weight: number;
        unit: string;
        pricePerUnit: import("@prisma/client/runtime/client").Decimal;
    }>;
    update(id: string, dto: UpdatePricingDetailDto): Promise<{
        itemType: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            desc: string | null;
            status: SettingStatus;
        };
        header: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            status: SettingStatus;
            itemTypeId: string;
            description: string | null;
            weight: number;
            unit: string;
            effectiveDate: Date;
        };
    } & {
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        status: SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdBy: string;
        modifiedBy: string;
        itemTypeId: string;
        headerId: string;
        weight: number;
        unit: string;
        pricePerUnit: import("@prisma/client/runtime/client").Decimal;
    }>;
    updatePrice(headerId: string, dto: UpdatePriceDto): Promise<{
        itemType: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            desc: string | null;
            status: SettingStatus;
        };
        header: {
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            code: string;
            name: string;
            status: SettingStatus;
            itemTypeId: string;
            description: string | null;
            weight: number;
            unit: string;
            effectiveDate: Date;
        };
    } & {
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        status: SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdBy: string;
        modifiedBy: string;
        itemTypeId: string;
        headerId: string;
        weight: number;
        unit: string;
        pricePerUnit: import("@prisma/client/runtime/client").Decimal;
    }>;
    remove(id: string): Promise<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        status: SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdBy: string;
        modifiedBy: string;
        itemTypeId: string;
        headerId: string;
        weight: number;
        unit: string;
        pricePerUnit: import("@prisma/client/runtime/client").Decimal;
    }>;
}
