/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import { HdsButtonSizeValues, HdsButtonColorValues, HdsButtonIconPositionValues } from './types.ts';
import type { HdsButtonSizes, HdsButtonColors, HdsButtonIconPositions } from './types.ts';
import type { HdsInteractiveSignature } from '../interactive/index';
import type { HdsIconSignature } from '../icon/index';
export declare const SIZES: HdsButtonSizes[];
export declare const COLORS: HdsButtonColors[];
export declare const ICON_POSITIONS: HdsButtonIconPositions[];
export declare const DEFAULT_SIZE = HdsButtonSizeValues.Medium;
export declare const DEFAULT_COLOR = HdsButtonColorValues.Primary;
export declare const DEFAULT_ICON_POSITION = HdsButtonIconPositionValues.Leading;
export interface HdsButtonSignature {
    Args: HdsInteractiveSignature['Args'] & {
        size?: HdsButtonSizes;
        color?: HdsButtonColors;
        text: string;
        icon?: HdsIconSignature['Args']['name'];
        iconPosition?: HdsButtonIconPositions;
        isIconOnly?: boolean;
        isFullWidth?: boolean;
        isInline?: boolean;
    };
    Element: HdsInteractiveSignature['Element'];
}
export default class HdsButton extends Component<HdsButtonSignature> {
    get text(): string;
    get size(): HdsButtonSizes;
    get color(): HdsButtonColors;
    get icon(): HdsIconSignature['Args']['name'] | undefined;
    get isIconOnly(): boolean;
    get iconPosition(): HdsButtonIconPositions;
    get iconSize(): HdsIconSignature['Args']['size'];
    get isFullWidth(): boolean;
    get classNames(): string;
}
