import { SortOfferSearch } from '../../manager/SearchManager';
import OfferSearch, { OfferResultAction } from '../models/OfferSearch';
import OfferSearchResultItem from '../models/OfferSearchResultItem';
import { Page } from '../models/Page';
import SearchRequest from '../models/SearchRequest';
import { HttpTransport } from '../source/http/HttpTransport';
import { OfferSearchRepository, OfferSearchRequestInterestMode } from './OfferSearchRepository';
export declare class OfferSearchRepositoryImpl implements OfferSearchRepository {
    private readonly OFFER_SEARCH_API;
    private readonly OFFER_SEARCH_REJECT_API;
    private readonly OFFER_SEARCH_EVALUATE_API;
    private readonly OFFER_SEARCH_CONFIRM_API;
    private readonly OFFER_SEARCH_CLAIM_PURCHASE_API;
    private readonly OFFER_SEARCH_ADD_API;
    private readonly OFFER_SEARCH_BY_PARAMS_API;
    private readonly OFFER_SEARCH_GET_BY_REQUEST_OR_SEARCH_API;
    private readonly OFFER_SEARCH_ADD_EVENT_API;
    private readonly OFFER_SEARCH_CREATE_BY_QUERY_API;
    private readonly OFFER_SEARCH_SUGGESTION_BY_QUERY_API;
    private readonly OFFER_SEARCH_COUNT_BY_REQUEST_IDS_API;
    private transport;
    constructor(transport: HttpTransport);
    getSuggestionByQuery(query: string, size?: number | undefined): Promise<Array<string>>;
    createByQuery(owner: string, query: string, searchRequestId: number, page?: number, size?: number, interests?: Array<string>, mode?: OfferSearchRequestInterestMode): Promise<Page<OfferSearchResultItem>>;
    getUserOfferSearches(clientId: string, page: number | undefined, size: number | undefined, unique: boolean | undefined, searchIds: number[] | undefined, state: OfferResultAction[] | undefined, sort: SortOfferSearch): Promise<Page<OfferSearchResultItem>>;
    getSearchResult(clientId: string, searchRequestId: number): Promise<Page<OfferSearchResultItem>>;
    getSearchResultByOfferSearchId(clientId: string, offerSearchId: number): Promise<Page<OfferSearchResultItem>>;
    getCountBySearchRequestIds(searchRequestIds: Array<number>): Promise<Map<number, number>>;
    complainToSearchItem(clientId: string, searchResultId: number): Promise<void>;
    rejectSearchItem(clientId: string, searchResultId: number): Promise<void>;
    evaluateSearchItem(clientId: string, searchResultId: number): Promise<void>;
    confirmSearchItem(clientId: string, searchResultId: number): Promise<void>;
    claimPurchaseForSearchItem(clientId: string, searchResultId: number): Promise<void>;
    addResultItem(clientId: string, offerSearch: OfferSearch): Promise<void>;
    addEventToOfferSearch(event: string, offerSearchId: number): Promise<void>;
    clone(owner: string, id: number, searchRequest: SearchRequest): Promise<Array<OfferSearch>>;
    private jsonToPageResultItem;
    private jsonToListResult;
    private jsonToOfferSearchList;
}
