import * as IShared from '../../../shared/interface'; import { Observation, ObservationType } from '../../../shared/entities/integration'; export type Entity = Observation; export declare const Route = "observation"; export declare const UpperName = "Observation"; export declare const LowerName: string; export interface ICreateRequest { owner_id: string; observation_type_id?: string | null; description: string; internal: boolean; } export interface IUpdateRequest { observation_type_id?: string | null; description?: string; internal?: boolean; } export interface IFindByQueryRequest { owner_id?: string; observation_type_id?: string; description?: string; internal?: boolean; } export interface IFindByOwnerRequest { owner_id: string; includeInternal?: boolean; } export interface IFindByOwnersRequest { owner_ids: string[]; includeInternal?: boolean; } export interface IFindByOwnerResponse extends Entity { observation_type: ObservationType | null; } export interface IRepository { findById(selector: IShared.IFindByIdRequest): Promise; findByQuery(data: IFindByQueryRequest): Promise; findByOwnerId(params: IFindByOwnerRequest): Promise; findByOwnerIds(params: IFindByOwnersRequest): Promise; create(data: ICreateRequest): Promise; update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise; deleteOne(selector: IShared.IFindByIdRequest): Promise; } export type IController = IShared.IEntityWithUserToken; export type IApi = Omit;