/**
 * Interface para um item de breadcrumb
 */
export interface BreadcrumbItem {
    id: string;
    name: string;
    url: string;
}
/**
 * Interface para o estado do store de breadcrumbs
 */
interface BreadcrumbStore {
    breadcrumbs: Record<string, BreadcrumbItem[]>;
    setBreadcrumbs: (namespace: string, items: BreadcrumbItem[]) => void;
    addBreadcrumb: (namespace: string, item: BreadcrumbItem) => void;
    updateBreadcrumb: (namespace: string, itemId: string, updates: Partial<BreadcrumbItem>) => void;
    removeBreadcrumbFrom: (namespace: string, itemId: string) => void;
    sliceBreadcrumbs: (namespace: string, index: number) => void;
    clearBreadcrumbs: (namespace: string) => void;
    getBreadcrumbs: (namespace: string) => BreadcrumbItem[];
}
/**
 * Store Zustand para gerenciar breadcrumbs
 * Suporta múltiplas instâncias através de namespaces
 */
export declare const useBreadcrumbStore: import("zustand").UseBoundStore<import("zustand").StoreApi<BreadcrumbStore>>;
/**
 * Hook customizado para facilitar o uso de breadcrumbs
 *
 * @param namespace - Identificador único para esta instância de breadcrumbs
 * @returns Objeto com breadcrumbs e métodos para manipulá-los
 *
 * @example
 * ```tsx
 * const { breadcrumbs, setBreadcrumbs, addBreadcrumb } = useBreadcrumb('performance');
 *
 * // Definir breadcrumbs iniciais
 * setBreadcrumbs([
 *   { id: 'home', name: 'Home', url: '/' },
 *   { id: 'page', name: 'Page', url: '/page' }
 * ]);
 *
 * // Adicionar novo breadcrumb
 * addBreadcrumb({ id: 'detail', name: 'Detail', url: '/page/detail' });
 * ```
 */
export declare const useBreadcrumb: (namespace: string) => {
    breadcrumbs: BreadcrumbItem[];
    /**
     * Define todos os breadcrumbs de uma vez
     */
    setBreadcrumbs: (items: BreadcrumbItem[]) => void;
    /**
     * Adiciona um novo breadcrumb ao final
     */
    addBreadcrumb: (item: BreadcrumbItem) => void;
    /**
     * Atualiza um breadcrumb existente
     */
    updateBreadcrumb: (itemId: string, updates: Partial<BreadcrumbItem>) => void;
    /**
     * Remove um breadcrumb e todos os seguintes
     */
    removeBreadcrumbFrom: (itemId: string) => void;
    /**
     * Mantém apenas os breadcrumbs até o índice especificado (inclusivo)
     */
    sliceBreadcrumbs: (index: number) => void;
    /**
     * Limpa todos os breadcrumbs
     */
    clearBreadcrumbs: () => void;
};
export {};
//# sourceMappingURL=breadcrumbStore.d.ts.map