import { Sequelize, DataTypes, Model, Optional } from 'sequelize';
import { UserAttributes } from './User';
export interface FollowUpAttributes {
    id: number;
    title: string;
    with_whom: string;
    assigned_to?: number;
    followup_date: Date;
    followup_notes?: string | null;
    status?: string;
    is_active?: boolean;
    reschedule_count?: number;
    created_by: number;
    followup_outcome?: string | null;
    reschedule_reason?: string | null;
}
interface FollowUpCreationAttributes extends Optional<FollowUpAttributes, 'id'> {
}
export declare class FollowUp extends Model<FollowUpAttributes, FollowUpCreationAttributes> implements FollowUpAttributes {
    id: number;
    title: string;
    with_whom: string;
    assigned_to?: number;
    followup_date: Date;
    followup_notes?: string | null;
    status?: string;
    is_active?: boolean;
    reschedule_count?: number;
    created_by: number;
    followup_outcome?: string | null;
    reschedule_reason?: string | null;
    assignee?: UserAttributes;
    creator?: UserAttributes;
    static associate(models: any): void;
    toJSON(): FollowUpAttributes & {
        assignee?: UserAttributes;
        creator?: UserAttributes;
    };
}
declare const _default: (sequelize: Sequelize, dataTypes: typeof DataTypes) => typeof FollowUp;
export default _default;
