import { PrismaService } from "../../../prisma/prisma.service";
import { CreateContractDto, UpdateContractDto } from '../dto/contract.dto';
export declare class ContractService {
    private prisma;
    constructor(prisma: PrismaService);
    createContract(tenantId: string, dto: CreateContractDto): Promise<{
        id: string;
        createdAt: Date;
        status: import(".prisma/client").$Enums.ContractStatus;
        complexId: string;
        startDate: Date;
        endDate: Date | null;
        category: string;
        notes: string | null;
        supplierId: string;
        title: string;
        amount: import("@prisma/client/runtime/library").Decimal;
        billingFreq: string;
        autoRenew: boolean;
        documentUrl: string | null;
    }>;
    getContracts(tenantId: string | null, complexId: string): Promise<({
        supplier: {
            id: string;
            name: string;
            createdAt: Date;
            legalId: string | null;
            tenantId: string;
            contact: string | null;
            iban: string | null;
        };
    } & {
        id: string;
        createdAt: Date;
        status: import(".prisma/client").$Enums.ContractStatus;
        complexId: string;
        startDate: Date;
        endDate: Date | null;
        category: string;
        notes: string | null;
        supplierId: string;
        title: string;
        amount: import("@prisma/client/runtime/library").Decimal;
        billingFreq: string;
        autoRenew: boolean;
        documentUrl: string | null;
    })[]>;
    getContract(tenantId: string | null, contractId: string): Promise<{
        supplier: {
            id: string;
            name: string;
            createdAt: Date;
            legalId: string | null;
            tenantId: string;
            contact: string | null;
            iban: string | null;
        };
    } & {
        id: string;
        createdAt: Date;
        status: import(".prisma/client").$Enums.ContractStatus;
        complexId: string;
        startDate: Date;
        endDate: Date | null;
        category: string;
        notes: string | null;
        supplierId: string;
        title: string;
        amount: import("@prisma/client/runtime/library").Decimal;
        billingFreq: string;
        autoRenew: boolean;
        documentUrl: string | null;
    }>;
    updateContract(tenantId: string | null, contractId: string, dto: UpdateContractDto): Promise<{
        id: string;
        createdAt: Date;
        status: import(".prisma/client").$Enums.ContractStatus;
        complexId: string;
        startDate: Date;
        endDate: Date | null;
        category: string;
        notes: string | null;
        supplierId: string;
        title: string;
        amount: import("@prisma/client/runtime/library").Decimal;
        billingFreq: string;
        autoRenew: boolean;
        documentUrl: string | null;
    }>;
    deleteContract(tenantId: string | null, contractId: string): Promise<{
        id: string;
        createdAt: Date;
        status: import(".prisma/client").$Enums.ContractStatus;
        complexId: string;
        startDate: Date;
        endDate: Date | null;
        category: string;
        notes: string | null;
        supplierId: string;
        title: string;
        amount: import("@prisma/client/runtime/library").Decimal;
        billingFreq: string;
        autoRenew: boolean;
        documentUrl: string | null;
    }>;
}
