import * as IShared from '../../../shared/interface'; import { Location, TypeOfLocation } from '../../../shared/entities/stock'; export type Entity = Location; export declare const Route = "location"; export declare const UpperName = "Location"; export declare const LowerName: string; interface IFindDetailedResponse extends Entity { type_of_location: TypeOfLocation; } export type IFindByIdResponse = Omit; export type IFindByOwnerIdResponse = Omit; export type IFindRequest = Record; export type IFindResponse = Omit; export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest { } export type IFindWithPaginationResponse = IShared.IPaginationResponse>; export interface ICreateRequest { name: string; street: string; country_id: string; country_name: string; locality: string; postal_code: string; type_of_location_id: string; geolocation?: { lat: number; lon: number; }; default_billing?: boolean; default_delivery?: boolean; } export interface IUpdateRequest { name?: string; street?: string; locality?: string; country_id?: string; country_name?: string; postal_code?: string; type_of_location_id?: string; geolocation?: { lat?: number; lon?: number; }; default_billing?: boolean; default_delivery?: boolean; } export interface IRepository { findById(selector: IShared.IFindByIdRequest): Promise; findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise; findMinified(params?: IShared.IFindMinifiedRequest): Promise; find(selector: IFindRequest): Promise; findPaginated(selector: IFindPaginatedRequest): Promise; create(data: ICreateRequest): Promise; update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise; deleteOne(selector: IShared.IFindByIdRequest): Promise; } export type IController = IShared.IEntityWithUserToken; export {};