import { DataClientRequestOptions, EmitOptions, RequestType } from '@angular-ru/cdk/http/typings';
import { Any, Nullable, PlainObject } from '@angular-ru/cdk/typings';
import { Observable, OperatorFunction } from 'rxjs';
import { DataHttpClient } from '../services/data-http.client';
export declare class RestTemplate<T> {
    options: Partial<DataClientRequestOptions>;
    private markAsRequest;
    private _client;
    protected operators: OperatorFunction<T, Any>[];
    path: string;
    methodType: RequestType;
    constructor(options?: Partial<DataClientRequestOptions>);
    setPath(path: string): RestTemplate<T>;
    setMethodType(type: RequestType): RestTemplate<T>;
    setClient(client: DataHttpClient): RestTemplate<T>;
    setEmitOptions(options: EmitOptions): RestTemplate<T>;
    setBody(body: unknown): RestTemplate<T>;
    setParams(queryParams: Nullable<PlainObject>): RestTemplate<T>;
    setOptions(options: Partial<DataClientRequestOptions>): RestTemplate<T>;
    asProxyObservable(): Observable<T>;
    asObservable(): Observable<T>;
}
//# sourceMappingURL=rest-template.d.ts.map