import { OfferService } from './offer.service';
import { CreateOfferDto } from './dto/create-offer.dto';
import { UpdateOfferDto } from './dto/update-offer.dto';
import { FilterOfferDto } from './dto/filter-offer.dto';
export declare class OfferController {
    private readonly offerService;
    constructor(offerService: OfferService);
    create(req: any, dto: CreateOfferDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/offer.schema").Offer, {}, {}> & import("../model/schemas/offer.schema").Offer & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    findAll(req: any, query: FilterOfferDto): Promise<(import("mongoose").FlattenMaps<import("../model/schemas/offer.schema").Offer> & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    })[]>;
    findOne(id: string): Promise<import("mongoose").FlattenMaps<import("../model/schemas/offer.schema").Offer> & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    findAllPublic(clientId: string): Promise<{
        stats: {
            totalSpend: any;
            appointmentCount: any;
        };
        offers: (import("mongoose").FlattenMaps<import("../model/schemas/offer.schema").Offer> & Required<{
            _id: import("mongoose").Types.ObjectId;
        }> & {
            __v: number;
        })[];
    }>;
    update(id: string, dto: UpdateOfferDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/offer.schema").Offer, {}, {}> & import("../model/schemas/offer.schema").Offer & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    remove(id: string): Promise<{
        message: string;
    }>;
}
