import { Injector, Type } from '@angular/core'; import { ResourcePropertyEncoder } from './resource-property-encoder'; import { JsonObject, JsonValue } from './shared'; export interface ResourcePropertyEncodeOptions { encoder?: Type; } export declare class ResourceEncoder { readonly encoders: ResourcePropertyEncoder[] | null; protected injector: Injector; constructor(encoders: ResourcePropertyEncoder[] | null, injector: Injector); resolvePropertyEncoder(type: Type): ResourcePropertyEncoder; encodeProperty(value: any, type?: Type, options?: ResourcePropertyEncodeOptions): JsonValue; encodeResource(value: any, type: Type): JsonObject; }