import { SvelteComponentTyped } from "svelte";
import { type Actions } from '@layerstack/svelte-actions';
import type { ButtonColor, ButtonRounded, ButtonSize, ButtonVariant } from '../types/index.js';
import { type IconInput } from '../utils/icons.js';
declare const __propDef: {
    props: {
        [x: string]: any;
        type?: "button" | "submit" | "reset" | undefined;
        href?: string | undefined | undefined;
        target?: string | undefined | undefined;
        fullWidth?: boolean | undefined;
        icon?: IconInput;
        iconOnly?: boolean | undefined;
        actions?: Actions<HTMLAnchorElement | HTMLButtonElement> | undefined;
        loading?: boolean | undefined;
        disabled?: boolean | undefined;
        rounded?: ButtonRounded | undefined;
        variant?: ButtonVariant | undefined;
        size?: ButtonSize | undefined;
        color?: ButtonColor | undefined;
        classes?: {
            root?: string;
            icon?: string;
            loading?: string;
        } | undefined;
    };
    events: {
        click: MouseEvent;
        mouseover: MouseEvent;
        mouseout: MouseEvent;
        focus: FocusEvent;
        blur: FocusEvent;
    } & {
        [evt: string]: CustomEvent<any>;
    };
    slots: {
        default: {};
    };
};
export type ButtonProps = typeof __propDef.props;
export type ButtonEvents = typeof __propDef.events;
export type ButtonSlots = typeof __propDef.slots;
export default class Button extends SvelteComponentTyped<ButtonProps, ButtonEvents, ButtonSlots> {
}
export {};
