///
import { URL } from 'url';
import { Lincoln } from '@nofrills/lincoln';
import { ResourceParams } from './ResourceParam';
import { ResourceOptions } from './ResourceOptions';
export declare abstract class Resource {
protected readonly logger: Lincoln;
private readonly options;
private readonly url;
constructor(url: URL, logger: Lincoln, options?: Partial);
get base(): URL;
protected http_get(route: string, ...params: ResourceParams): Promise;
protected http_delete(route: string, ...params: ResourceParams): Promise;
protected http_head(route: string, ...params: ResourceParams): Promise;
protected http_options(route: string, ...params: ResourceParams): Promise;
protected http_patch(route: string, resource: T, ...params: ResourceParams): Promise;
protected http_post(route: string, resource: T, ...params: ResourceParams): Promise;
protected http_put(route: string, resource: T, ...params: ResourceParams): Promise;
protected http_trace(route: string, ...params: ResourceParams): Promise;
protected btoa(value: string | Buffer): string;
protected blob(route: string, method: string, params: ResourceParams): Promise;
protected buffer(route: string, method: string, params: ResourceParams): Promise;
protected json(route: string, method: string, params: ResourceParams, resource?: T): Promise;
protected response(route: string, method: string, params?: ResourceParams, body?: any): Promise;
protected setHeader(name: string, value: string): void;
protected text(route: string, method: string, params: ResourceParams): Promise;
private getRoute;
private getUrl;
private headers;
}
//# sourceMappingURL=Resource.d.ts.map