import { CommunicationTypeEnum } from '../enum/communication-type.enum';
import { CommunicationCategoryEnum } from '../enum/communication-category.enum';
import { TemplateUsageTypeEnum } from '../enum/template-usage-type.enum';
import { CommunicationTemplateAccessKeyEnum } from '../enum/communication-template-access-key.enum';
import { CommunicationStepEnum } from '../enum/communication-step.enum';
import { ProgramType } from './program-type.entity';
export declare class CommunicationTemplatesMaster {
    id: number;
    templateKey: string;
    templateAccessKey: CommunicationTemplateAccessKeyEnum;
    templateName: string;
    templateType: CommunicationTypeEnum;
    templateId: string;
    sandboxTemplateId: string;
    category: CommunicationCategoryEnum;
    templateUsageType: TemplateUsageTypeEnum;
    programTypeId: number;
    programType: ProgramType;
    mergeFieldMap: Array<{
        keyName: string;
        sourceTable: string;
        sourceColumn: string;
        dataType: string;
        formatType?: string;
        isNullable: boolean;
        defaultValue?: string;
        description?: string;
        isPerRecipient?: boolean;
    }>;
    displayOrder: number;
    step: CommunicationStepEnum | null;
    subject: string | null;
    body: string | null;
    isDefault: boolean;
    isActive: boolean;
    createdBy: number;
    updatedBy: number;
    createdAt: Date;
    updatedAt: Date;
    constructor(partial: Partial<CommunicationTemplatesMaster>);
}
