import { Contracts } from '../../contracts';
import { IDeliveryClientConfig } from '../../config';
import { IItemQueryConfig, IDeliveryNetworkResponse, Responses, ClientTypes, IContentItemDelta } from '../../models';
import { QueryService } from '../../services';
import { BaseListingQuery } from '../common/base-listing-query.class';
export declare class SyncChangesQuery<TClientTypes extends ClientTypes> extends BaseListingQuery<TClientTypes, IContentItemDelta, Responses.ISyncChangesResponse, Responses.ISyncChangesAllResponse, IItemQueryConfig, Contracts.ISyncChangesContract> {
    protected config: IDeliveryClientConfig;
    protected queryService: QueryService<TClientTypes>;
    protected _queryConfig: IItemQueryConfig;
    private readonly action;
    constructor(config: IDeliveryClientConfig, queryService: QueryService<TClientTypes>);
    toPromise(): Promise<IDeliveryNetworkResponse<Responses.ISyncChangesResponse, Contracts.ISyncChangesContract>>;
    getUrl(): string;
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig: IItemQueryConfig): this;
    map(json: any): Responses.ISyncChangesResponse;
    protected allResponseFactory(items: IContentItemDelta[], responses: IDeliveryNetworkResponse<Responses.ISyncChangesResponse, Contracts.ISyncChangesContract>[]): Responses.ISyncChangesAllResponse;
}
