import { type HTMLAttributes } from 'vue';
import type { ComponentProps } from 'vue-component-type-helpers';
import PfTooltip from './Tooltip/Tooltip.vue';
import type { Placement } from '../helpers/FloatingUi.vue';
interface Props extends /* @vue-ignore */ HTMLAttributes {
/** Text to truncate */
content: string;
/** An href to turn the truncate wrapper into an anchor element. For more custom control, pass a triggerRef in tooltipAttrs. */
href?: string;
/** The number of characters displayed in the second half of a middle truncation. Overridden by maxCharsDisplayed. */
trailingNumChars?: number;
/**
* The maximum number of characters to display before truncating. This will always truncate content when its length
* exceeds this value, and container width/resizing will not affect truncation.
*/
maxCharsDisplayed?: number;
/** The content signifying the omission of characters with maxCharsDisplayed. Defaults to an ellipsis. */
omissionContent?: string;
/** Where the text will be truncated */
position?: 'start' | 'middle' | 'end';
/** Tooltip position */
tooltipPosition?: Placement;
/** Additional attributes passed to the tooltip, such as a triggerRef to show the tooltip on another element. */
tooltipAttrs?: Omit, 'content'>;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly & Readonly<{}>, {
position: "end" | "start" | "middle";
tooltipPosition: Placement;
trailingNumChars: number;
omissionContent: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, Record>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=Truncate.vue.d.ts.map