import { EventEmitter } from '../../stencil-public-runtime';
import { DaisySize } from '../types';
/**
 * A customizable button component used to create buttons with different sizes, variants, and types.
 *
 * The component supports a `<slot>` for injecting content within the button, similar to a native HTML button
 */
export declare class ModusWcButton {
    private inheritedAttributes;
    /** Reference to the host element */
    el: HTMLElement;
    /** The color variant of the button. */
    color: 'primary' | 'secondary' | 'tertiary' | 'warning' | 'danger';
    /** Custom CSS class to apply to the button element. */
    customClass?: string;
    /** If true, the button will be disabled. */
    disabled?: boolean;
    /** If true, the button will take the full width of its container. */
    fullWidth?: boolean;
    /** If true, the button will be in a pressed state (for toggle buttons). */
    pressed?: boolean;
    /** The shape of the button. */
    shape: 'circle' | 'rectangle' | 'square';
    /** The size of the button. */
    size: DaisySize;
    /** The type of the button. */
    type: 'button' | 'submit' | 'reset';
    /** The variant of the button. */
    variant: 'borderless' | 'filled' | 'outlined';
    /** Event emitted when the button is clicked or activated via keyboard. */
    buttonClick: EventEmitter<MouseEvent | KeyboardEvent>;
    componentWillLoad(): void;
    private getClasses;
    private handleClick;
    private handleKeyDown;
    render(): any;
}
