import { Id, Uuid } from "../shared";
import { EstadoEffect, EstadoEffectModel } from "./estado-effect";
import { EstadoRule, EstadoRuleModel } from "./estado-rule";
export interface Estado {
    ID_ESTADO: Uuid;
    ID_GAMA: number;
    ENABLED: boolean;
    NAME: string;
    COLOR?: string;
    CODE: number;
    ROOT_OPERATOR: JoinOperator;
    POSITION: number;
    DESCRIPTION?: string;
    ICON?: string;
    CREATED_AT: Date;
    UPDATED_AT: Date;
    BREAKER: boolean;
    NECESSARY: boolean;
    TRIGGER: boolean;
    DEFAULT: boolean;
    RULES?: EstadoRule[];
    EFFECTS?: EstadoEffect[];
}
export interface EstadoModel {
    id?: string;
    idGama: Id | null;
    enabled: boolean;
    name: string;
    code: number | null;
    color: string;
    icon: string;
    description: string;
    position: number;
    rootOperator: JoinOperator;
    breaker: boolean;
    necessary: boolean;
    default: boolean;
    trigger: boolean;
    rules: EstadoRuleModel[];
    effects: EstadoEffectModel[];
}
export type JoinOperator = "AND" | "OR";
