import PolymorphicSchema from './Polymorphic.js'; import { EntityInterface, IDenormalizeDelegate, INormalizeDelegate } from '../interface.js'; import { AbstractInstanceType } from '../normal.js'; type ProcessableEntity = EntityInterface & { process: any; }; /** Structural type for hoistable polymorphic schemas like Union */ type HoistablePolymorphic = { readonly _hoistable: true; schema: any; getSchemaAttribute: (...args: any) => any; }; /** * Marks entity as Invalid. * * This triggers suspense for all endpoints requiring it. * Optional (like variable sized Array and Values) will simply remove the item. * @see https://dataclient.io/rest/api/Invalidate */ export default class Invalidate | HoistablePolymorphic> extends PolymorphicSchema { /** * Marks entity as Invalid. * * This triggers suspense for all endpoints requiring it. * Optional (like variable sized Array and Values) will simply remove the item. * @see https://dataclient.io/rest/api/Invalidate */ constructor(entity: E, schemaAttribute?: E extends HoistablePolymorphic ? undefined : E extends Record ? string | ((input: any, parent: any, key: any) => string) : undefined); readonly key: string; normalize(input: any, parent: any, key: string | undefined, delegate: INormalizeDelegate): string | { id: string; schema: string; }; queryKey(_args: any, _unvisit: unknown, _delegate: unknown): undefined; denormalize(id: string | { id: string; schema: string; }, delegate: IDenormalizeDelegate): E extends ProcessableEntity ? AbstractInstanceType : AbstractInstanceType; _denormalizeNullable(): (E extends ProcessableEntity ? AbstractInstanceType : AbstractInstanceType) | undefined; _normalizeNullable(): string | undefined; } export {}; //# sourceMappingURL=Invalidate.d.ts.map