import { Injector, Type } from '@angular/core'; import { ResourceFactory } from './resource-factory'; import { ResourcePropertyDecoder } from './resource-property-decoder'; import { JsonObject, JsonValue } from './shared'; export interface ResourcePropertyDecodeOptions { decoder?: Type; iterable?: boolean; } export declare class ResourceDecoder { readonly decoders: ResourcePropertyDecoder[] | null; protected resourceFactory: ResourceFactory; protected injector: Injector; constructor(decoders: ResourcePropertyDecoder[] | null, resourceFactory: ResourceFactory, injector: Injector); resolvePropertyDecoder(type: Type): ResourcePropertyDecoder | null; decodeProperty(value: JsonValue, type?: Type, options?: ResourcePropertyDecodeOptions): T; decodeResource(value: JsonObject, type: Type): T; }