export interface ValueMapper {
    selector: string;
    type: 'string' | 'number' | 'boolean';
    required?: boolean;
}
export interface SimpleArrayMapper {
    selector: string;
    type: 'simple-array';
    itemType: 'string' | 'number' | 'boolean';
    required?: boolean;
}
export interface ArrayMapper {
    selector: string;
    type: 'array';
    required?: boolean;
    items: MessageMapper;
}
export interface UnknownMapper {
    selector: string;
    type: 'unknown';
    required?: boolean;
}
export type MessageMapper = {
    [key: string]: ValueMapper | SimpleArrayMapper | ArrayMapper | UnknownMapper;
};
export interface ConditionMapper {
    selector: string;
    [key: string]: string | {
        id: string;
        value: string;
    };
}
export interface ValidationMapper {
    selector: string;
    custom_failure_message?: string;
}
export type NodeMapper = MessageMapper | ConditionMapper | ValidationMapper | {};
