import { Observable } from 'rxjs';
import { IDeliveryClientConfig } from '../../config';
import { ContentItem, ItemResponses } from '../../models';
import { QueryService } from '../../services';
import { BaseItemQuery } from './base-item-query.class';
export declare class SingleItemQuery<TItem extends ContentItem> extends BaseItemQuery<TItem, ItemResponses.DeliveryItemResponse<TItem>> {
    protected config: IDeliveryClientConfig;
    protected queryService: QueryService;
    private codename;
    constructor(config: IDeliveryClientConfig, queryService: QueryService, codename: string);
    /**
    * Gets the runnable Observable
    */
    getObservable(): Observable<ItemResponses.DeliveryItemResponse<TItem>>;
    /**
    * Gets 'Url' representation of query
    */
    getUrl(): string;
    /**
    * Inject a http body response to bypass the inbuilt http client
    * @param body Raw body response of external Kentico Cloud request
    */
    injectSingleItem(body: string): ItemResponses.DeliveryItemResponse<TItem>;
}
