import * as z from 'zod'; import type { Bookmark, BookmarkData } from './types'; /** Zod schema for validating {@link BookmarkUser} objects. */ export declare const bookmarkUserSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; mail: z.ZodOptional; }, z.core.$strip>; /** Zod schema for validating {@link SourceSystem} objects on a bookmark. */ export declare const bookmarkSourceSystemSchema: z.ZodObject<{ identifier: z.ZodString; name: z.ZodOptional>; subSystem: z.ZodOptional>; }, z.core.$strip>; /** Zod schema for validating {@link BookmarkContext} objects. */ export declare const bookmarkContextSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodOptional; type: z.ZodOptional; }, z.core.$strip>; /** Zod schema for validating a {@link BookmarkWithoutData} (no payload). */ export declare const bookmarkSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; appKey: z.ZodString; description: z.ZodOptional; isShared: z.ZodOptional; created: z.ZodDate; createdBy: z.ZodObject<{ id: z.ZodString; name: z.ZodString; mail: z.ZodOptional; }, z.core.$strip>; updated: z.ZodOptional; updatedBy: z.ZodOptional; }, z.core.$strip>>; context: z.ZodOptional; type: z.ZodOptional; }, z.core.$strip>>; sourceSystem: z.ZodOptional>; subSystem: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>; /** Zod schema for validating an array of bookmarks. */ export declare const bookmarksSchema: z.ZodArray; isShared: z.ZodOptional; created: z.ZodDate; createdBy: z.ZodObject<{ id: z.ZodString; name: z.ZodString; mail: z.ZodOptional; }, z.core.$strip>; updated: z.ZodOptional; updatedBy: z.ZodOptional; }, z.core.$strip>>; context: z.ZodOptional; type: z.ZodOptional; }, z.core.$strip>>; sourceSystem: z.ZodOptional>; subSystem: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; /** * Creates a Zod schema for a {@link Bookmark} that includes a typed payload field. * * @template T - The bookmark payload data shape. * @template S - Zod schema type for the payload. * @param schema - Optional Zod schema to validate the payload. Defaults to * `z.record(z.string(), z.unknown()).or(z.string()).optional()`. * @returns A Zod object schema extending {@link bookmarkSchema} with a `payload` property. */ export declare const bookmarkWithDataSchema: = z.ZodSchema>(schema?: S) => z.ZodObject<{ id: z.ZodString; name: z.ZodString; appKey: z.ZodString; description: z.ZodOptional; isShared: z.ZodOptional; created: z.ZodDate; createdBy: z.ZodObject<{ id: z.ZodString; name: z.ZodString; mail: z.ZodOptional; }, z.core.$strip>; updated: z.ZodOptional; updatedBy: z.ZodOptional; }, z.core.$strip>>; context: z.ZodOptional; type: z.ZodOptional; }, z.core.$strip>>; sourceSystem: z.ZodOptional>; subSystem: z.ZodOptional>; }, z.core.$strip>>>; payload: S; }, z.core.$strip>; /** * Parses an unknown value into a typed {@link Bookmark} using {@link bookmarkWithDataSchema}. * * @template T - The bookmark payload data shape. * @param value - The raw value to parse. * @returns The parsed bookmark object. * @throws {ZodError} When validation fails. */ export declare const parseBookmark: (value: unknown) => Bookmark;