import { ResturantBannerService } from './resturant-banner.service';
import { CreateResturantBannerDto } from './dto/create-resturant-banner.dto';
import { BannerListDto, GetNearbyBannersDto } from './dto/get-nearby-banners.dto';
export declare class ResturantBannerController {
    private readonly resturantBannerService;
    constructor(resturantBannerService: ResturantBannerService);
    createBanner(dto: CreateResturantBannerDto, req: any): Promise<import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    getUserAppBanners(req: any, dto: GetNearbyBannersDto): Promise<any[]>;
    getBannerDetails(req: any, id: string): Promise<{
        banner: any;
    }>;
    resturantBanners(dto: BannerListDto, req: any): Promise<{
        total: number;
        banners: any[];
    }>;
    resturantBannersGuest(dto: BannerListDto, req: any): Promise<{
        total: number;
        banners: any[];
    }>;
    updateBanner(id: string, dto: Partial<CreateResturantBannerDto>): Promise<import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    deleteBanner(id: string): Promise<import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    vendorToggleBannerStatus(id: string, status: 'active' | 'inactive', req: any): Promise<import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    adminUpdateBannerApproval(id: string, status: string): Promise<import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    getAdminApprovedVendorBanners(dto: BannerListDto): Promise<{
        total: number;
        banners: any[];
    }>;
    getAdminPendingVendorBanners(dto: BannerListDto): Promise<{
        total: number;
        banners: any[];
    }>;
    vendorGetActiveBanners(req: any): Promise<{
        total: number;
        banners: (import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getCustomerHomePageBanners(type?: string, lat?: string, long?: string): Promise<{
        total: number;
        banners: any[];
    }>;
    getCustomerVendorBanners(resturantId: string): Promise<{
        total: number;
        banners: any[];
    }>;
    toggleBannerStatus(id: string, status: 'active' | 'inactive'): Promise<import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    trackBannerView(id: string, req: any): Promise<{
        message: string;
        view_count: number;
        banner: import("mongoose").Document<unknown, {}, import("./entities/resturant-banner.entity").RestaurantBanner, {}, {}> & import("./entities/resturant-banner.entity").RestaurantBanner & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
}
