import { Sequelize, DataTypes, Model, Optional } from 'sequelize';
import { ClientMasterAttributes } from './client_master';
import { ProjectMasterAttributes } from './project_master';
import { UserAttributes } from './User';
export interface WeeklyPlanAttributes {
    id: number;
    task_name: string;
    type: 'Business Development' | 'Operations';
    user_id: number;
    client_id: number;
    project_id: number;
    status: 'ACTIVE' | 'COMPLETED';
    start_date: Date;
    end_date: Date;
    week_number?: number;
    is_active: boolean;
    executive_id?: number;
}
interface WeeklyPlanCreationAttributes extends Optional<WeeklyPlanAttributes, 'id'> {
}
export declare class WeeklyPlan extends Model<WeeklyPlanAttributes, WeeklyPlanCreationAttributes> implements WeeklyPlanAttributes {
    static associate(models: any): void;
    id: number;
    task_name: string;
    type: 'Business Development' | 'Operations';
    user_id: number;
    client_id: number;
    project_id: number;
    status: 'ACTIVE' | 'COMPLETED';
    start_date: Date;
    end_date: Date;
    week_number?: number;
    is_active: boolean;
    executive_id?: number;
    client?: ClientMasterAttributes;
    project?: ProjectMasterAttributes;
    user?: UserAttributes;
    executive?: UserAttributes;
    toJSON(): WeeklyPlanAttributes & {
        client?: ClientMasterAttributes;
        project?: ProjectMasterAttributes;
        user?: UserAttributes;
        executive?: UserAttributes;
    };
}
declare const _default: (sequelize: Sequelize, dataTypes: typeof DataTypes) => typeof WeeklyPlan;
export default _default;
