import { HydratedDocument } from 'mongoose';
import * as mongoose from 'mongoose';
export declare enum OwnerType {
    Fleet = "fleet",
    Admin = "admin"
}
export declare enum VehicleAssignmentType {
    TimeSlot = "time_slot",
    WeekDays = "week_days",
    DateRange = "date_range",
    Permanent = "permanent"
}
export declare enum WEEKDAYS {
    MONDAY = "MONDAY",
    TUESDAY = "TUESDAY",
    WEDNESDAY = "WEDNESDAY",
    THURSDAY = "THURSDAY",
    FRIDAY = "FRIDAY",
    SATURDAY = "SATURDAY",
    SUNDAY = "SUNDAY"
}
declare class DayAvailability {
    day: string;
    time_slots: {
        start_time: string;
        end_time: string;
    }[];
}
export declare class VehicleAssignment {
    vehicle_detail_id: string;
    driver_id: string;
    owner: string;
    owner_id: string;
    weekdays: DayAvailability[];
    start_time: string;
    end_time: string;
    start_date_time: string;
    end_date_time: string;
    isActive: boolean;
    isDeleted: boolean;
    assignment_type: VehicleAssignmentType;
    created_at: number;
    updated_at: number;
}
export type VehicleAssignmentDocument = HydratedDocument<VehicleAssignment>;
export declare const VehicleAssignmentModel: mongoose.Schema<VehicleAssignment, mongoose.Model<VehicleAssignment, any, any, any, mongoose.Document<unknown, any, VehicleAssignment, any, {}> & VehicleAssignment & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, VehicleAssignment, mongoose.Document<unknown, {}, mongoose.FlatRecord<VehicleAssignment>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<VehicleAssignment> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export {};
