/**
 * @license
 * Copyright 2025 Sandlada & Kai Orion
 * SPDX-License-Identifier: MIT
 */
import type { ExtractPublicPropTypes, PropType, VNode } from 'vue';
import { type TFormSubmitterType } from '../../internals';
import type { TButtonTarget } from '../../utils/button-target-type';
export declare const ButtonAppearance: {
    readonly Filled: "filled";
    readonly Outlined: "outlined";
    readonly Elevated: "elevated";
    readonly FilledTonal: "filled-tonal";
    readonly Text: "text";
};
export type TButtonAppearance = typeof ButtonAppearance[keyof typeof ButtonAppearance];
export declare const props: {
    appearance: {
        type: PropType<TButtonAppearance>;
        default: "filled";
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    type: {
        type: PropType<TFormSubmitterType>;
        default: "button";
    };
    href: {
        type: PropType<string>;
        default: null;
    };
    target: {
        type: PropType<TButtonTarget>;
        default: null;
    };
    form: {
        type: PropType<string>;
        default: null;
    };
    name: {
        type: PropType<string>;
        default: null;
    };
    value: {
        type: PropType<string>;
        default: null;
    };
};
export type TButtonProps = ExtractPublicPropTypes<typeof props>;
export type TButtonSlots = {
    default?: VNode;
    'leading-icon'?: VNode;
    'trailing-icon'?: VNode;
};
//# sourceMappingURL=button.definition.d.ts.map