export declare enum RelationType { single = 0, multiple = 1 } export declare enum SingleRelationOperationType { set = 0, unset = 1 } export declare enum MultipleRelationOperationType { add = 0, remove = 1 } export interface ISingleRelationOperation { id: number | string; type: SingleRelationOperationType; } export interface IMultipleRelationOperation { id: number | string; type: MultipleRelationOperationType; } export declare type IRelationOperations = ISingleRelationOperation | IMultipleRelationOperation[]; export interface IBaseRelation { type: RelationType; property: string; } export interface IRelation extends IBaseRelation { singleOperation?: ISingleRelationOperation; multipleOperations?: IMultipleRelationOperation[]; } export interface ISingleRelation extends IBaseRelation { operation: ISingleRelationOperation; } export interface IMultipleRelation extends IBaseRelation { operations: IMultipleRelationOperation[]; }