import { TFactoryConstructor } from "../../../types"; import { IResourceEntity, IResourceFactory } from "../../../interfaces/api"; import { IRequestOptions } from "../../../interfaces/common"; import { IFactoryCriteriaItem } from "../common/FactoryCriteriaBuilder"; export declare enum GetWith { CONTACTS = "contacts", COMPANIES = "companies", CATALOG_ELEMENTS = "catalog_elements", LOSS_REASON = "loss_reason" } export interface IHasGetByIdCriteria { with?: string[]; } export interface IHasGetById>> { getById(identity: number, criteria?: IHasGetByIdCriteria, options?: IRequestOptions): Promise; } export declare type IHasGetByIdFactory>> = IResourceFactory & IHasGetById; export declare const getRequestCriteria: (criteria?: IHasGetByIdCriteria) => { with: string; } | undefined; export declare class GetByIdFactoryCriteriaItem implements IFactoryCriteriaItem { fetchCriteria(criteria?: IHasGetByIdCriteria): { with?: undefined; } | { with: string; }; } export declare function hasGetById>>(Base: TFactoryConstructor): TFactoryConstructor;