import { ComponentOptionsMixin } from 'vue';
import { ComponentProvideOptions } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import { PropType } from 'vue';
import { PublicProps } from 'vue';

declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;

declare type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};

declare type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: PropType<T[K]>;
        required: true;
    };
};

declare type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};

declare type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};

declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MoreActionsProps>, {
actionsContainerClass: undefined;
actionsContainerTag: string;
moreButtonText: () => any;
dropdownMode: string;
moreButtonAlign: string;
width: undefined;
}>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MoreActionsProps>, {
actionsContainerClass: undefined;
actionsContainerTag: string;
moreButtonText: () => any;
dropdownMode: string;
moreButtonAlign: string;
width: undefined;
}>>> & Readonly<{}>, {
width: string | number;
moreButtonAlign: "separate" | "together";
actionsContainerClass: string | Record<string, boolean>;
actionsContainerTag: string;
moreButtonText: string;
dropdownMode: "default" | "custom";
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
    default?(_: {}): any;
    toggle?(_: {
        toggle: () => Promise<void>;
        isOpen: boolean;
    }): any;
    "more-actions"?(_: {}): any;
}>;
export default _default;

export declare interface MoreActionsProps {
    /**
     * CSS class or classes to be applied to the actions container
     */
    actionsContainerClass?: string | Record<string, boolean> | undefined;
    /**
     * HTML element tag to use for the actions container
     * Useful when you need to maintain valid HTML semantics
     * (e.g., use 'ul' when children are <li> elements)
     * @default 'div'
     */
    actionsContainerTag?: string;
    /**
     * Text to display on the more actions button
     */
    moreButtonText?: string;
    /**
     * Optional width for the more-actions container
     * Applies style="width: {width}" to the stash-more-actions element
     */
    width?: string | number;
    /**
     * Rendering mode for dropdown items
     * - 'default': Button-style rendering (current behavior)
     * - 'custom': Custom rendering through slots
     */
    dropdownMode?: 'default' | 'custom';
    /**
     * Alignment of the More button
     * - 'separate': Button is aligned to the right edge of the actions container (default)
     * - 'together': Button is aligned immediately after the last visible action
     */
    moreButtonAlign?: 'separate' | 'together';
}

export { }
