import { type PartialWithUndefined } from '@augment-vir/common';
import { type ViraIconSvg } from '../icons/index.js';
/**
 * Button styles available for {@link ViraButton}.
 *
 * @category Button
 */
export declare enum ViraButtonStyle {
    Default = "vira-button-default",
    Outline = "vira-button-outline"
}
/**
 * A custom button with default styling.
 *
 * @category Button
 * @category Elements
 * @see https://electrovir.github.io/element-vir/vira/book/elements/vira-button
 */
export declare const ViraButton: import("element-vir").DeclarativeElementDefinition<"vira-button", PartialWithUndefined<{
    text: string;
    icon: Pick<ViraIconSvg, "svgTemplate">;
    disabled: boolean;
    buttonStyle: ViraButtonStyle;
    /**
     * When set to `true`, the given icon (if any) will take up its full dimensions, potentially
     * increasing the button's size.
     *
     * @default false
     */
    expandToFitIcon: boolean;
}>, {}, {}, "vira-button-outline-style" | "vira-button-disabled" | "vira-button-expand-to-fit-icon", "vira-button-primary-color" | "vira-button-primary-hover-color" | "vira-button-primary-active-color" | "vira-button-secondary-color" | "vira-button-padding" | "vira-button-internal-foreground-color" | "vira-button-internal-background-color", readonly []>;
