import Offer from '../models/Offer';
import { Page } from '../models/Page';
import { HttpTransport } from '../source/http/HttpTransport';
import { OfferRepository } from './OfferRepository';
export default class OfferRepositoryImpl implements OfferRepository {
    private readonly OFFER_API;
    private readonly OFFER_SHALLOW_UPDATE_API;
    private readonly OFFER_API_PAGE;
    private readonly OFFERS_PAGEABLE_API;
    private transport;
    constructor(transport: HttpTransport);
    create(owner: string, offer: Offer): Promise<Offer>;
    update(owner: string, id: number, offer: Offer): Promise<Offer>;
    shallowUpdate(owner: string, id: number, offer: Offer): Promise<Offer>;
    deleteById(owner: string, id: number): Promise<number>;
    getOfferByOwnerAndId(owner: string, id: number): Promise<Array<Offer>>;
    getOfferByOwner(owner: string): Promise<Array<Offer>>;
    getOfferByOwnerAndPage(owner: string, page?: number, size?: number): Promise<Page<Offer>>;
    getOffersByPage(page?: number, size?: number): Promise<Page<Offer>>;
    /**
     * @deprecated
     * @see getOffersByPage
     */
    getAllOffer(): Promise<Array<Offer>>;
    getOffersByOwnerAndTag(owner: string, tag: string): Promise<Array<Offer>>;
    private jsonToListOffers;
    private jsonToPageResultItem;
}
