import { InjectionKey } from 'vue';
import { ComponentSize } from '@vexip-ui/config';
export type ButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'error';
export type ButtonAttrType = 'button' | 'submit' | 'reset';
export interface ButtonState {
    index: number;
    isLast: boolean;
}
export interface ButtonGroupState {
    type: ButtonType;
    size: ComponentSize;
    increaseItem: (item: ButtonState) => void;
    decreaseItem: (item: ButtonState) => void;
    refreshIndexes: () => void;
}
export interface ButtonSlots {
    default?: () => any;
    icon?: () => any;
    loading?: () => any;
}
export declare const GROUP_STATE: InjectionKey<ButtonGroupState>;
export declare const buttonTypes: readonly ButtonType[];
