import { RouteLocationRaw } from 'vue-router';
import { MazBtnProps } from './MazBtn.vue';
import { MazColor, MazSize } from './types';
export interface MazButtonGroupOption extends Omit<MazBtnProps, 'block' | 'fab'> {
    /** Click handler for the button */
    onClick?: () => void;
    /** The href for anchor links */
    href?: string;
    /** The route for router-link or nuxt-link */
    to?: RouteLocationRaw;
}
export interface MazButtonGroupProps {
    /**
     * The items for the button group (optional when using slot-based approach)
     * @default undefined
     */
    items?: MazButtonGroupOption[];
    /**
     * The orientation of the button group
     * @values 'row' | 'col'
     * @default 'row'
     */
    orientation?: 'row' | 'col';
    /**
     * The size of all buttons (only applies to props-based buttons)
     * @default 'md'
     */
    size?: MazSize;
    /**
     * The color of all buttons (only applies to props-based buttons)
     * @default 'primary'
     */
    color?: MazColor;
    /**
     * The rounded size of the buttons
     * @default 'lg'
     */
    roundedSize?: MazBtnProps['roundedSize'];
    /**
     * The outlined state of the buttons
     * @default false
     */
    outlined?: boolean;
    /**
     * The pastel state of the buttons
     * @default false
     */
    pastel?: boolean;
    /**
     * The loading state of the buttons
     * @default false
     */
    loading?: boolean;
    /**
     * The disabled state of the buttons
     * @default false
     */
    disabled?: boolean;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Partial<Record<`button-${number}`, (_: {
        item: MazButtonGroupOption;
        index: number;
    }) => any>> & {
        default?(_: {}): any;
    };
    refs: {};
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<MazButtonGroupProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<MazButtonGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
