/** * * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import { type ReactNode } from 'react'; interface UseTruncateOptions { button: ReactNode; content: ReactNode; lineClamp: number; onExpandedToggle?: (isExpanded: boolean) => void; maxCharacters?: number; buttonType?: 'view-more' | 'ellipsis'; closeTooltip?: () => void; /** * When true, skips all expensive DOM calculations and measurements. * Useful for performance optimization when the hook functionality isn't needed. */ isDisabled?: boolean; } export declare function useTruncateWithButton({ content, lineClamp, button, onExpandedToggle, maxCharacters, buttonType, closeTooltip, isDisabled, }: UseTruncateOptions): { containerRef: import("react").RefObject; contentToRender: ReactNode; isExpanded: boolean; isTruncated: boolean; measureRef: import("react").RefObject; toggleExpand: () => void; }; export {}; //# sourceMappingURL=use-truncate-with-button.d.ts.map