import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { CollectionItem, CollectionItem$Outbound } from "./collectionitem.js"; import { CollectionPinnedMetadata, CollectionPinnedMetadata$Outbound } from "./collectionpinnedmetadata.js"; import { FacetFilter, FacetFilter$Outbound } from "./facetfilter.js"; import { ObjectPermissions, ObjectPermissions$Outbound } from "./objectpermissions.js"; import { Person, Person$Outbound } from "./person.js"; import { Thumbnail, Thumbnail$Outbound } from "./thumbnail.js"; import { UserRoleSpecification, UserRoleSpecification$Outbound } from "./userrolespecification.js"; export type Collection = { /** * The unique name of the Collection. */ name: string; /** * A brief summary of the Collection's contents. */ description: string; /** * A list of added user roles for the Collection. */ addedRoles?: Array | undefined; /** * A list of removed user roles for the Collection. */ removedRoles?: Array | undefined; /** * Filters which restrict who should see this Collection. Values are taken from the corresponding filters in people search. */ audienceFilters?: Array | undefined; /** * The emoji icon of this Collection. */ icon?: string | undefined; /** * Indicates whether edits are allowed for everyone or only admins. */ adminLocked?: boolean | undefined; /** * The parent of this Collection, or 0 if it's a top-level Collection. */ parentId?: number | undefined; thumbnail?: Thumbnail | undefined; /** * The datasource type this Collection can hold. */ allowedDatasource?: string | undefined; permissions?: ObjectPermissions | undefined; /** * The unique ID of the Collection. */ id: number; createTime?: Date | undefined; updateTime?: Date | undefined; creator?: Person | undefined; updatedBy?: Person | undefined; /** * The number of items currently in the Collection. Separated from the actual items so we can grab the count without items. */ itemCount?: number | undefined; /** * The number of children Collections. Separated from the actual children so we can grab the count without children. */ childCount?: number | undefined; /** * The items in this Collection. */ items?: Array | undefined; pinMetadata?: CollectionPinnedMetadata | undefined; /** * The names of the shortcuts (Go Links) that point to this Collection. */ shortcuts?: Array | undefined; /** * The children Collections of this Collection. */ children?: Array | undefined; /** * A list of user roles for the Collection. */ roles?: Array | undefined; }; /** @internal */ export declare const Collection$inboundSchema: z.ZodType; /** @internal */ export type Collection$Outbound = { name: string; description: string; addedRoles?: Array | undefined; removedRoles?: Array | undefined; audienceFilters?: Array | undefined; icon?: string | undefined; adminLocked?: boolean | undefined; parentId?: number | undefined; thumbnail?: Thumbnail$Outbound | undefined; allowedDatasource?: string | undefined; permissions?: ObjectPermissions$Outbound | undefined; id: number; createTime?: string | undefined; updateTime?: string | undefined; creator?: Person$Outbound | undefined; updatedBy?: Person$Outbound | undefined; itemCount?: number | undefined; childCount?: number | undefined; items?: Array | undefined; pinMetadata?: CollectionPinnedMetadata$Outbound | undefined; shortcuts?: Array | undefined; children?: Array | undefined; roles?: Array | undefined; }; /** @internal */ export declare const Collection$outboundSchema: z.ZodType; export declare function collectionToJSON(collection: Collection): string; export declare function collectionFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=collection.d.ts.map