import { DirectModel } from '../../main/models/model'; export declare const modelTranslateSymbol: unique symbol; /** * Interface for define that the object can be translated to a model. */ export interface ModelTranslatable { [modelTranslateSymbol]: () => M; } /** * Returns if the object implements the interface: ModelTranslatable. * @param obj */ export declare const isModelTranslatable: (obj: any) => obj is ModelTranslatable; /** * In case of a ModelTranslatable object, * it will return the resolved model otherwise, it returns the object self. */ export declare function resolveIfModelTranslatable(obj: T): T extends ModelTranslatable ? DirectModel : T;