import type { PageResult, PageMeta } from '@23blocks/contracts'; import type { JsonApiDocument, JsonApiMeta } from './types.js'; import type { ResourceMapper, IncludedMap } from './mapper.js'; /** * Decode a single resource from a JSON:API document * Accepts unknown to handle transport layer responses that return unknown */ export declare function decodeOne(response: unknown, mapper: ResourceMapper): T; /** * Decode a single resource from a JSON:API document, returning null if not found * Accepts unknown to handle transport layer responses that return unknown */ export declare function decodeOneOrNull(response: unknown, mapper: ResourceMapper): T | null; /** * Decode multiple resources from a JSON:API document * Accepts unknown to handle transport layer responses that return unknown */ export declare function decodeMany(response: unknown, mapper: ResourceMapper): T[]; /** * Extract pagination metadata from JSON:API meta */ export declare function extractPageMeta(meta?: JsonApiMeta): PageMeta; /** * Decode a paginated collection from a JSON:API document * Accepts unknown to handle transport layer responses that return unknown */ export declare function decodePageResult(response: unknown, mapper: ResourceMapper): PageResult; /** * Decode with a custom decoder function * Accepts unknown to handle transport layer responses that return unknown */ export declare function decodeWith(response: unknown, decoder: (doc: JsonApiDocument, included: IncludedMap) => T): T; //# sourceMappingURL=decode.d.ts.map