import { CommonService } from 'src/common/common.service';
import { ProductService } from './product.service';
import { CalculatePremiumDto, CreateProductDto, ProductListDto, UpdateProductDto } from './dto/product.dto';
export declare class ProductController {
    private readonly productService;
    private readonly common;
    constructor(productService: ProductService, common: CommonService);
    create(req: any, dto: CreateProductDto): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    list(req: any, query: ProductListDto): Promise<{
        status: string;
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
            hasNextPage: boolean;
            hasPrevPage: boolean;
        };
    }>;
    getById(req: any, id: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    calculate(req: any, id: string, query: CalculatePremiumDto): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    update(req: any, id: string, dto: UpdateProductDto): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    listForAgent(req: any, query: ProductListDto): Promise<{
        status: string;
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
            hasNextPage: boolean;
            hasPrevPage: boolean;
        };
    }>;
    getByIdForAgent(req: any, id: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    calculateForAgent(req: any, id: string, query: CalculatePremiumDto): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
}
