import { FormGroup, ValidatorFn } from "@angular/forms";
import { JourneyFlexibilizationService } from "../../../shared/services/journey-flexibilization.service";
export interface JourneyFlexibilizationResponseDto {
    content: ModelFieldDto[];
}
export interface JourneyFlexibilizationData {
    [entityName: string]: JourneyFlexibilizationField;
}
export interface JourneyFlexibilizationField {
    [fieldName: string]: ModelFieldDto;
}
export interface JourneyFlexibilizationModelDto {
    id: string;
    code: number;
    name: string;
    journeyType: JourneyFlexibilizationJourneyType;
    active: boolean;
    modelGroups: ModelGroupDto[];
    modelFields: ModelFieldDto[];
    modelModules: ModelModuleDto[];
    createdDate: Date;
    createdBy: string;
    lastModifiedDate: Date;
    lastModifiedBy: string;
}
export declare enum JourneyFlexibilizationJourneyType {
    ADMISSION = "ADMISSION"
}
export interface ModelFieldDto {
    id?: string;
    entityName?: string;
    fieldName?: string;
    required?: boolean;
    visible?: boolean;
    editable?: boolean;
    defaultValue?: string;
}
export interface ModelGroupDto {
    id: string;
    code: number;
    name: string;
}
export interface ModelModuleDto {
    id: string;
    moduleType: string;
}
export interface JourneyFlexibilizationEvent {
    modelGroup: any;
    entities: string[];
    formGroup: FormGroup;
    service: JourneyFlexibilizationService;
    fields: JourneyFlexibilizationEventField[];
    onEdit?: boolean;
}
export interface JourneyFlexibilizationEventField {
    fieldName: string;
    config?: string;
    service?: any;
    isLookup?: boolean;
    updateSuggestions?: Function;
    validatorsDefault?: ValidatorFn[];
}
