import { CLAlign, CLBorderRadius, CLColors, CLColorVariants, CLIconNames, CLIconSizes, CLPlacement, CLSizes } from '../../../types'; export interface CLDropdownMenuProps { /** Set the horizontal alignment of the button. The property can be one of `CLAlign`, e.g. `CLAlign.Left`. */ buttonAlign?: CLAlign; /** Sets the aria-label on the anchor button. */ buttonAriaLabel: string; /** Set the border radius size on the anchor button. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */ buttonBorderRadius?: CLBorderRadius; /** A `boolean` value which dictates the busy state of the button */ buttonBusy?: boolean; /** Sets the color of the anchor button. The property can be one of `CLColors`, e.g. `CLColors.Primary`. */ buttonColor?: CLColors; /** Sets the disabled state of the anchor button. */ buttonDisabled?: boolean; /** Sets the height of the anchor button, its default value is `auto`. */ buttonHeight?: string; /** Sets the anchor button size. The property can be one of `CLSizes`, e.g. `CLSizes.Medium`. */ buttonSize?: CLSizes; /** Sets the color variant. The property can be one of `CLColorVariants`, e.g `CLColorVariants.Soft`. */ buttonVariant?: CLColorVariants; /** Sets the width of the anchor button, its default value is `auto`. */ buttonWidth?: string; /** When set to `true`, it will remove any horizontal and vertical padding from the button. */ buttonWrapped?: boolean; /** When set to `true`, it will apply a border to the content container. */ containerBordered?: boolean; /** Set the border radius size on the content container. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */ containerBorderRadius?: CLBorderRadius; /** When set to `true`, it will apply a box-shadow to the content container. */ containerElevated?: boolean; /** Sets the width of the content container. */ contentWidth?: string; /** A unique identifier, this is required. It ensures that if multiple dropdowns are used, each will be handled properly. */ dropdownId: string; /** When set to `true`, sets the width of the menu container to 100% of its parent. */ fluid?: boolean; /** Sets the icon to be displayed after the anchor button label. The property can be one of `CLIconNames`, e.g. `CLIconNames.ChevronDown`. */ iconAfter?: CLIconNames | null; /** Sets the icon to be displayed before the anchor button label. The property can be one of `CLIconNames`, e.g. `CLIconNames.Menu`. Set to `null` to hide the icon. */ iconBefore?: CLIconNames; /** Sets the size of icons displayed before and after the anchor button label. The property can be one of `CLIconSizes`, e.g. `CLIconSizes.Tiny`. */ iconSize?: CLIconSizes; /** Sets the initial open state of the DropdownMenu. */ isOpen?: boolean; /** Sets the label on the anchor button. */ label?: string; /** A callback function to be called when the DropdownMenu is closed. */ onCloseHandler?: () => void; /** A callback function to be called when the DropdownMenu is opened. */ onOpenHandler?: () => void; /** Sets the placement of the content container. The property can be one of `CLPlacement`, e.g. `CLPlacement.BottomStart`. */ placement?: CLPlacement; /** A test identifier for testing purposes. */ testId?: string; /** Sets the z-index of the content container. */ zIndex?: number | string; } declare const _default: __VLS_WithTemplateSlots void; open: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly & Readonly<{}>, { fluid: boolean; testId: string; iconSize: CLIconSizes; iconAfter: CLIconNames | null; isOpen: boolean; zIndex: number | string; placement: CLPlacement; buttonColor: CLColors; buttonSize: CLSizes; buttonVariant: CLColorVariants; buttonWidth: string; buttonAlign: CLAlign; buttonHeight: string; containerBordered: boolean; containerElevated: boolean; contentWidth: string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { anchor: ({ $: import('vue').ComponentInternalInstance; $data: {}; $props: { readonly active?: boolean | undefined; readonly alignContent?: CLAlign | undefined; readonly ariaLabel?: string | undefined; readonly as?: import('../../../types').CLButtonTags | undefined; readonly borderRadius?: CLBorderRadius | undefined; readonly busy?: boolean | undefined; readonly color?: CLColors | undefined; readonly disabled?: boolean | undefined; readonly elevated?: boolean | undefined; readonly form?: string | undefined; readonly forwardRef?: import('../../../types').CLButtonForwardRefFunction | undefined; readonly height?: string | undefined; readonly href?: string | undefined; readonly iconAfter?: (CLIconNames | null) | undefined; readonly iconBefore?: (CLIconNames | null) | undefined; readonly iconFilled?: boolean | undefined; readonly iconSize?: CLIconSizes | undefined; readonly onClick?: ((event?: Event) => void) | undefined; readonly pill?: boolean | undefined; readonly rounded?: boolean | undefined; readonly size?: CLSizes | undefined; readonly target?: import('@codeandfunction/callaloo-types').CLLinkTarget | undefined; readonly testId?: string | undefined; readonly title?: string | undefined; readonly type?: import('../../../types').CLButtonTypes | undefined; readonly variant?: CLColorVariants | undefined; readonly width?: string | undefined; readonly wrap?: boolean | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; } & { buttonRef: unknown; }; $slots: Readonly<{ [name: string]: globalThis.Slot | undefined; }>; $root: ComponentPublicInstance | null; $parent: ComponentPublicInstance | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: import('vue').ComponentOptionsBase & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, { size: CLSizes; color: CLColors; variant: CLColorVariants; rounded: boolean; testId: string; type: import('../../../types').CLButtonTypes; form: string; title: string; onClick: (event?: Event) => void; target: import('@codeandfunction/callaloo-types').CLLinkTarget; width: string; height: string; borderRadius: CLBorderRadius; iconFilled: boolean; iconSize: CLIconSizes; href: string; active: boolean; alignContent: CLAlign; ariaLabel: string; as: import('../../../types').CLButtonTags; busy: boolean; disabled: boolean; elevated: boolean; forwardRef: import('../../../types').CLButtonForwardRefFunction; iconAfter: CLIconNames | null; iconBefore: CLIconNames | null; pill: boolean; wrap: boolean; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import('vue').nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ size: CLSizes; color: CLColors; variant: CLColorVariants; rounded: boolean; testId: string; type: import('../../../types').CLButtonTypes; form: string; title: string; onClick: (event?: Event) => void; target: import('@codeandfunction/callaloo-types').CLLinkTarget; width: string; height: string; borderRadius: CLBorderRadius; iconFilled: boolean; iconSize: CLIconSizes; href: string; active: boolean; alignContent: CLAlign; ariaLabel: string; as: import('../../../types').CLButtonTags; busy: boolean; disabled: boolean; elevated: boolean; forwardRef: import('../../../types').CLButtonForwardRefFunction; iconAfter: CLIconNames | null; iconBefore: CLIconNames | null; pill: boolean; wrap: boolean; }> & Omit & Readonly<{}>, "size" | "color" | "variant" | "rounded" | "testId" | "type" | "form" | "title" | "onClick" | "target" | "width" | "height" | "borderRadius" | "iconFilled" | "iconSize" | "href" | "active" | "alignContent" | "ariaLabel" | "as" | "busy" | "disabled" | "elevated" | "forwardRef" | "iconAfter" | "iconBefore" | "pill" | "wrap"> & import('vue').ShallowUnwrapRef<{}> & {} & import('vue').ComponentCustomProperties & {} & { $slots: { default?(_: {}): any; }; }) | null; dropdownElem: HTMLDivElement; }, HTMLDivElement>, { content?(_: {}): any; }>; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };