import { b as NavigationDefinition, c as CategoryUrlMode, R as ResolvedNavigationItem } from './types-CeigwmOf.js';
export { d as CategoryDefinition, e as CategoryNavigationItem, f as NavigationMetadata } from './types-CeigwmOf.js';
import '@orderlyshop/core-client';
import './query.js';

declare const defaultCategoryPageRoot = "/categories/";
interface NavigationBuildOptions {
    pageRoot?: string;
    urlMode?: CategoryUrlMode;
    description?: (input: NavigationDescriptionInput) => string;
}
type CategoryNavigationOptions = NavigationBuildOptions;
interface NavigationDescriptionInput {
    definition: NavigationDefinition;
    parent?: NavigationDefinition;
    pathLabels: string[];
}
type CategoryDescriptionInput = NavigationDescriptionInput;
declare function createCategoryNavigation(definitions: NavigationDefinition[], options?: NavigationBuildOptions): ResolvedNavigationItem[];
interface NavigationValidationResult {
    valid: boolean;
    errors: string[];
}
declare function validateNavigationDefinitions(definitions: NavigationDefinition[]): NavigationValidationResult;
declare function navigationConfigurationError(definitions: NavigationDefinition[]): string | undefined;
declare function assertValidNavigationDefinitions(definitions: NavigationDefinition[]): void;
declare function flattenCategoryNavigation(items: ResolvedNavigationItem[]): ResolvedNavigationItem[];
declare function findCategoryById(id: string, items: ResolvedNavigationItem[]): ResolvedNavigationItem | undefined;
declare function findCategoryBySlug(slug: string, items: ResolvedNavigationItem[]): ResolvedNavigationItem | undefined;
declare function findCategoryByIdOrSlug(value: string, items: ResolvedNavigationItem[]): ResolvedNavigationItem | undefined;
declare function categoryPagePath(id: string, options?: NavigationBuildOptions): string;
declare function resolveCategoryUrlMode(url?: string | URL | Location, options?: Pick<NavigationBuildOptions, "pageRoot">): CategoryUrlMode;
declare function categoryFromUrl(url: string | URL | Location, items: ResolvedNavigationItem[], options?: NavigationBuildOptions): ResolvedNavigationItem;

export { type CategoryDescriptionInput, type CategoryNavigationOptions, CategoryUrlMode, type NavigationBuildOptions, NavigationDefinition, type NavigationDescriptionInput, type NavigationValidationResult, ResolvedNavigationItem, assertValidNavigationDefinitions, categoryFromUrl, categoryPagePath, createCategoryNavigation, defaultCategoryPageRoot, findCategoryById, findCategoryByIdOrSlug, findCategoryBySlug, flattenCategoryNavigation, navigationConfigurationError, resolveCategoryUrlMode, validateNavigationDefinitions };
