import PfButton from '../Button.vue'; import { type HTMLAttributes } from 'vue'; import type { ComponentProps } from 'vue-component-type-helpers'; import { type OUIAProps } from '../../helpers/ouia'; interface Props extends OUIAProps, /* @vue-ignore */ HTMLAttributes { /** Text that appears in the attached toggle */ toggleText?: string; /** Text that appears in the attached toggle when expanded (will override toggleText if both are specified; used for uncontrolled expandable with dynamic toggle text) */ toggleTextExpanded?: string; /** Text that appears in the attached toggle when collapsed (will override toggleText if both are specified; used for uncontrolled expandable with dynamic toggle text) */ toggleTextCollapsed?: string; /** Indicates the expandable section has a detached toggle */ detached?: boolean; /** ID of the content of the expandable section. When detached, it must match the contentId of the pf-expandable-section-toggle. */ contentId?: string; /** ID of the toggle, which gives the content its accessible name via aria-labelledby. When detached, it must match the toggleId of the pf-expandable-section-toggle. */ toggleId?: string; /** Flag for disclosure styling. */ large?: boolean; /** Flag to indicate the width of the component is limited. Set to true for disclosure styling. */ widthLimited?: boolean; /** Flag to indicate if the content is indented. */ indented?: boolean; /** Truncates the expandable content, to the given number of lines or to 3 lines when true */ truncate?: boolean | number; /** Sets the direction of the expandable animation when detached. If this prop is not passed, animation will not occur. */ direction?: 'up' | 'down'; /** The HTML element to use for the toggle wrapper. Use a heading level when the toggle text should function as a heading. */ toggleWrapper?: 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; /** Hides the toggle icon. Make sure the toggle text still conveys the expanded state. */ noToggleIcon?: boolean; /** Additional attributes for the toggle button, like aria-label and aria-labelledby */ toggleAttrs?: ComponentProps; } type __VLS_Props = Props; type __VLS_Slots = { default?: (props?: Record) => any; /** Content of the attached toggle, in place of the toggle text */ 'toggle-text'?: (props: { expanded: boolean; }) => any; /** Icon of the attached toggle, when not truncated */ 'toggle-icon'?: (props?: Record) => any; }; type __VLS_ModelProps = { /** Flag to indicate if the content is expanded */ 'expanded'?: boolean; }; type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps; declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:expanded": (value: boolean) => any; }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{ "onUpdate:expanded"?: ((value: boolean) => any) | undefined; }>, { ouiaSafe: boolean; toggleWrapper: "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; }; //# sourceMappingURL=ExpandableSection.vue.d.ts.map