import { DotHttpError } from '../client/public'; /** * Navigation API specific error class * Wraps HTTP errors and adds navigation-specific context */ export declare class DotErrorNavigation extends Error { readonly httpError?: DotHttpError; readonly path: string; constructor(message: string, path: string, httpError?: DotHttpError); /** * Serializes the error to a plain object for logging or transmission */ toJSON(): { name: string; message: string; path: string; httpError: { name: string; message: string; status: number; statusText: string; data: unknown; stack: string | undefined; } | undefined; stack: string | undefined; }; } /** * The parameters for the Navigation API. * @public */ export interface DotCMSNavigationRequestParams { /** * The depth of the folder tree to return. * @example * `1` returns only the element specified in the path. * `2` returns the element specified in the path, and if that element is a folder, returns all direct children of that folder. * `3` returns all children and grandchildren of the element specified in the path. */ depth?: number; /** * The language ID of content to return. * @example * `1` (or unspecified) returns content in the default language of the site. */ languageId?: number; } /** * Represents a navigation item in the DotCMS navigation structure * * @interface DotCMSNavigationItem * @property {string} [code] - Optional unique code identifier for the navigation item * @property {string} folder - The folder path where this navigation item is located * @property {DotCMSNavigationItem[]} [children] - Optional array of child navigation items * @property {string} host - The host/site this navigation item belongs to * @property {number} languageId - The language ID for this navigation item * @property {string} href - The URL/link that this navigation item points to * @property {string} title - The display title of the navigation item * @property {string} type - The type of navigation item * @property {number} hash - Hash value for the navigation item * @property {string} target - The target attribute for the link (e.g. "_blank", "_self") * @property {number} order - The sort order position of this item in the navigation */ export interface DotCMSNavigationItem { code?: string; folder: string; children?: DotCMSNavigationItem[]; host: string; languageId: number; href: string; title: string; type: string; hash: number; target: string; order: number; }