import * as i0 from "@angular/core"; /** * @internal * Generates base button classes with style variants */ export declare const buttonComponent: (props?: ({ variant?: "primary" | "secondary" | "tertiary" | "accent" | "info" | "success" | "warning" | "error" | "base" | null | undefined; size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined; iconPosition?: "left" | "right" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** Possible button style variants */ export type ButtonVariantProps = 'primary' | 'secondary' | 'tertiary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | 'base' | null | undefined; /** Possible button size variants */ export type ButtonSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined; /** Possible icon positions relative to button text */ export type ButtonIconPositionProps = 'left' | 'right' | null | undefined; /** Configuration object for button styling variants */ export type ButtonProps = { variant?: ButtonVariantProps; size?: ButtonSizeProps; iconPosition?: ButtonIconPositionProps; }; /** Valid HTML button types */ export type HTMLButtonType = 'button' | 'submit' | 'reset'; /** * A customizable button component with multiple variants and icon support * * @remarks * Built with Tailwind CSS and class-variance-authority for style management. * Supports various styling variants, sizes, icon positions, and state modifiers. * * @example * ```html * * Submit * * ``` */ export declare class ButtonComponent { /** * Button style variant * @defaultValue 'primary' */ variant: import("@angular/core").InputSignal; /** * Ghost button style (transparent background) * @defaultValue false */ ghost: import("@angular/core").InputSignal; /** * Outline button style (border with transparent fill) * @defaultValue false */ outline: import("@angular/core").InputSignal; /** * Link button style (appears as a hyperlink) * @defaultValue false */ link: import("@angular/core").InputSignal; /** * Soft button style (muted/subdued color variant) * @defaultValue false */ soft: import("@angular/core").InputSignal; /** * Dash button style (dashed border) * @defaultValue false */ dash: import("@angular/core").InputSignal; /** * Wide button style (increased horizontal padding) * @defaultValue false */ wide: import("@angular/core").InputSignal; /** * Circular button shape * @defaultValue false */ circle: import("@angular/core").InputSignal; /** * Square button shape * @defaultValue false */ square: import("@angular/core").InputSignal; /** * Glass effect styling * @defaultValue false */ glass: import("@angular/core").InputSignal; /** * Full-width button * @defaultValue false */ block: import("@angular/core").InputSignal; /** * Show loading spinner * @defaultValue false */ loader: import("@angular/core").InputSignal; /** * Button size variant * @defaultValue 'md' */ size: import("@angular/core").InputSignal; /** * Add drop shadow * @defaultValue false */ shadow: import("@angular/core").InputSignal; /** * Button is focusable * @defaultValue true */ focusable: import("@angular/core").InputSignal; /** * Icon name (from icon library) */ icon: import("@angular/core").InputSignal; /** * Position of icon relative to text * @defaultValue 'left' */ iconPosition: import("@angular/core").InputSignal; /** * HTML button type attribute * @defaultValue 'button' */ type: import("@angular/core").InputSignal; /** * Disabled state * @defaultValue false */ disabled: import("@angular/core").InputSignal; /** * Stop event propagation for activation events * @defaultValue false */ stopPropagation: import("@angular/core").InputSignal; /** * Event emitted on click */ clicked: import("@angular/core").OutputEmitterRef; /** * Event emitted on pointer down */ pointerDown: import("@angular/core").OutputEmitterRef; /** * Event emitted on Enter keydown */ keyDownEnter: import("@angular/core").OutputEmitterRef; /** * Event emitted on Space keydown */ keyDownSpace: import("@angular/core").OutputEmitterRef; /** * Event emitted on activation (click or keyboard) */ triggered: import("@angular/core").OutputEmitterRef; /** * @internal * Computed class string for the button container */ containerClass: import("@angular/core").Signal; linkClass: import("@angular/core").Signal; /** * @internal * Handle click events */ handleClick(event: MouseEvent): void; /** * @internal * Handle pointer down events */ handlePointerDown(event: PointerEvent): void; /** * @internal * Handle Enter keydown events */ handleKeyDownEnter(event: Event): void; /** * @internal * Handle Space keydown events */ handleKeyDownSpace(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }