> ISPO SDK documentation. [HTML](https://ispo.ai/docs/variables/core.Supporting_types.entityPrivateContentSlotDeclarationSchema.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Variable entityPrivateContentSlotDeclarationSchema`Const`

```typescript
entityPrivateContentSlotDeclarationSchema: ZodObject<
    {
        cardinality: ZodEnum<{ many: "many"; one: "one" }>;
        fieldPath: ZodString;
        id: ZodString;
        inferenceEgress: ZodOptional<
            ZodEnum<{ allow: "allow"; "local-only": "local-only" }>,
        >;
        maxBytes: ZodNumber;
        maxItems: ZodNumber;
        mediaTypes: ZodArray<ZodString>;
        metadata: ZodOptional<
            ZodRecord<
                ZodString,
                ZodObject<
                    {
                        maxBytes: ZodOptional<ZodNumber>;
                        required: ZodOptional<ZodBoolean>;
                        type: ZodEnum<
                            { boolean: "boolean"; number: "number"; string: "string" },
                        >;
                    },
                    $strict,
                >,
            >,
        >;
        retention: ZodDiscriminatedUnion<
            [
                ZodObject<{ kind: ZodLiteral<"until-redacted"> }, $strict>,
                ZodObject<
                    { days: ZodNumber; kind: ZodLiteral<"expire-after-days"> },
                    $strict,
                >,
            ],
            "kind",
        >;
    },
    $strict,
> = ...
```

Declared, per-type slot metadata. It grants nothing by itself.
