import { CompanyService } from './company.service';
import { CreateCompanyDto } from './dto/create-company.dto';
import { BlockUnblockStaffDto, CreateCompanyStaffDto, DashboardCardDto, GetCompanyStaffQueryDto, ListCompanyBookingDto, UpdateCompanyDto } from './dto/update-company.dto';
export declare class CompanyController {
    private readonly companyService;
    constructor(companyService: CompanyService);
    create(createCompanyDto: CreateCompanyDto): {
        message: string;
        data: Promise<import("mongoose").Document<unknown, {}, import("./schema/company.schema").Company, {}, {}> & import("./schema/company.schema").Company & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }>;
    };
    findAll(query: ListCompanyBookingDto): Promise<{
        message: string;
        data: (import("mongoose").Document<unknown, {}, import("./schema/company.schema").Company, {}, {}> & import("./schema/company.schema").Company & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        pagination: {
            total: number;
            page: string | number;
            limit: string | number;
            totalPages: number;
            activeCount: number;
            blockedCount: number;
            deletedCount: number;
        };
    }>;
    update(id: string, updateCompanyDto: UpdateCompanyDto): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/company.schema").Company, {}, {}> & import("./schema/company.schema").Company & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getDashbord(req: any, dto: DashboardCardDto): Promise<{
        data: any;
    }>;
    getCompanyBookings(req: any, query: ListCompanyBookingDto): Promise<{
        message: string;
        data: any;
        pagination: {
            total: any;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getCompanyBookingDetails(req: any, id: string): Promise<{
        message: string;
        data: any;
    }>;
    getInvoices(req: any, query: ListCompanyBookingDto): Promise<{
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    createCompanyStaff(req: any, body: CreateCompanyStaffDto): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/company.schema").Company, {}, {}> & import("./schema/company.schema").Company & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getCompanyStaffList(req: any, query: GetCompanyStaffQueryDto): Promise<{
        message: string;
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            role_type: import("./schema/company.schema").CompanyRoleType;
            name: string;
            email: string;
            phone: string;
            country_code: string;
            image: string;
            is_email_verify: boolean;
            is_phone_verify: boolean;
            temp_email: string;
            temp_email_otp: number;
            temp_phone_otp: number;
            temp_email_otp_at: number;
            address: string;
            temp_phone_otp_at: number;
            is_notification: boolean;
            timezone: string;
            preferred_currency: string;
            preferred_language: string;
            currency_symbol: string;
            contact_person: string;
            credit_limit_assign?: number;
            credit_limit?: number;
            wallet_balance: number;
            hold_balance: number;
            pending_amount: number;
            billing_duration?: import("./schema/company.schema").BillingDuration;
            location: {
                type: string;
                coordinates: number[];
                name: string;
            };
            heading: number;
            company_id: string;
            current_booking: string;
            permissions: string[];
            is_block: boolean;
            is_deleted: boolean;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getStaffById(id: string): Promise<{
        message: string;
        data: import("mongoose").FlattenMaps<{
            customer_id: string;
            role_type: import("./schema/company.schema").CompanyRoleType;
            name: string;
            email: string;
            phone: string;
            country_code: string;
            image: string;
            is_email_verify: boolean;
            is_phone_verify: boolean;
            temp_email: string;
            temp_email_otp: number;
            temp_phone_otp: number;
            temp_email_otp_at: number;
            address: string;
            temp_phone_otp_at: number;
            is_notification: boolean;
            timezone: string;
            preferred_currency: string;
            preferred_language: string;
            currency_symbol: string;
            contact_person: string;
            credit_limit_assign?: number;
            credit_limit?: number;
            wallet_balance: number;
            hold_balance: number;
            pending_amount: number;
            billing_duration?: import("./schema/company.schema").BillingDuration;
            location: {
                type: string;
                coordinates: number[];
                name: string;
            };
            heading: number;
            company_id: string;
            current_booking: string;
            permissions: string[];
            is_block: boolean;
            is_deleted: boolean;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    updateCompanyStaff(id: string, body: CreateCompanyStaffDto): Promise<{
        message: string;
        data: import("mongoose").FlattenMaps<{
            customer_id: string;
            role_type: import("./schema/company.schema").CompanyRoleType;
            name: string;
            email: string;
            phone: string;
            country_code: string;
            image: string;
            is_email_verify: boolean;
            is_phone_verify: boolean;
            temp_email: string;
            temp_email_otp: number;
            temp_phone_otp: number;
            temp_email_otp_at: number;
            address: string;
            temp_phone_otp_at: number;
            is_notification: boolean;
            timezone: string;
            preferred_currency: string;
            preferred_language: string;
            currency_symbol: string;
            contact_person: string;
            credit_limit_assign?: number;
            credit_limit?: number;
            wallet_balance: number;
            hold_balance: number;
            pending_amount: number;
            billing_duration?: import("./schema/company.schema").BillingDuration;
            location: {
                type: string;
                coordinates: number[];
                name: string;
            };
            heading: number;
            company_id: string;
            current_booking: string;
            permissions: string[];
            is_block: boolean;
            is_deleted: boolean;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    blockUnblockStaff(id: string, body: BlockUnblockStaffDto): Promise<{
        message: string;
        data: import("mongoose").FlattenMaps<{
            customer_id: string;
            role_type: import("./schema/company.schema").CompanyRoleType;
            name: string;
            email: string;
            phone: string;
            country_code: string;
            image: string;
            is_email_verify: boolean;
            is_phone_verify: boolean;
            temp_email: string;
            temp_email_otp: number;
            temp_phone_otp: number;
            temp_email_otp_at: number;
            address: string;
            temp_phone_otp_at: number;
            is_notification: boolean;
            timezone: string;
            preferred_currency: string;
            preferred_language: string;
            currency_symbol: string;
            contact_person: string;
            credit_limit_assign?: number;
            credit_limit?: number;
            wallet_balance: number;
            hold_balance: number;
            pending_amount: number;
            billing_duration?: import("./schema/company.schema").BillingDuration;
            location: {
                type: string;
                coordinates: number[];
                name: string;
            };
            heading: number;
            company_id: string;
            current_booking: string;
            permissions: string[];
            is_block: boolean;
            is_deleted: boolean;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    deleteCompanyStaff(id: string): Promise<{
        message: string;
        status: boolean;
    }>;
    updateCreaditLimitByAdmin(id: string, amount: number): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/company.schema").Company, {}, {}> & import("./schema/company.schema").Company & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
}
