import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from './ApiDataInterface-BcZeXy5X.mjs'; import { A as ApiRequestDataTypeInterface } from './ApiRequestDataTypeInterface-CYEcRUrh.mjs'; declare abstract class AbstractApiData implements ApiDataInterface { static identifierFields: string[]; get identifier(): string; protected _jsonApi?: any; protected _included?: any[]; protected _id?: string; protected _type?: string; protected _createdAt?: Date; protected _updatedAt?: Date; protected _self?: string; get type(): string; get id(): string; get self(): string | undefined; get createdAt(): Date; get updatedAt(): Date; get included(): any[]; get jsonApi(): any; ingestJsonApi(_data: JsonApiHydratedDataInterface): void; generateApiUrl(_params?: any): string; createJsonApi(_data?: any): any; protected _readIncluded(data: JsonApiHydratedDataInterface, type: string, dataType: ApiRequestDataTypeInterface): T | T[] | undefined; /** * Read included relationships with polymorphic type resolution. * Determines the correct model class based on the JSON:API type in included data. */ protected _readIncludedPolymorphic(data: JsonApiHydratedDataInterface, relationshipKey: string, candidateModules: ApiRequestDataTypeInterface[]): T | T[] | undefined; /** * Read included relationship data and augment with relationship meta properties. * Handles both single relationships (one-to-one) and array relationships (one-to-many). * * For single relationships: meta is read from `relationships[type].meta` * For array relationships: per-item meta is read from `relationships[type].data[].meta` * * @param data - Hydrated JSON:API data * @param type - Relationship type key (e.g., "guide", "persons") * @param dataType - Module reference for rehydration * @returns Related object(s) augmented with meta properties, or undefined */ protected _readIncludedWithMeta>(data: JsonApiHydratedDataInterface, type: string, dataType: ApiRequestDataTypeInterface): (T & M) | (T & M)[] | undefined; dehydrate(): JsonApiHydratedDataInterface; rehydrate(data: JsonApiHydratedDataInterface): this; } export { AbstractApiData as A };