import { CourierComponentThemeMode, SystemThemeMode } from '../utils/system-theme-mode';
import { CourierSystemThemeElement } from './courier-system-theme-element';
export type CourierButtonVariant = 'primary' | 'secondary' | 'tertiary';
export type CourierButtonProps = {
    mode: CourierComponentThemeMode;
    text?: string;
    shadow?: string;
    border?: string;
    borderRadius?: string;
    backgroundColor?: string;
    hoverBackgroundColor?: string;
    activeBackgroundColor?: string;
    fontFamily?: string;
    fontSize?: string;
    fontWeight?: string;
    textColor?: string;
    variant?: CourierButtonVariant;
    onClick?: () => void;
};
export declare const CourierButtonVariants: {
    readonly primary: (mode: SystemThemeMode) => {
        backgroundColor: string;
        textColor: string;
        fontWeight: string;
        shadow: string;
        borderRadius: "4px";
        fontSize: "14px";
    };
    readonly secondary: (mode: SystemThemeMode) => {
        backgroundColor: string;
        textColor: string;
        fontWeight: string;
        border: string;
        shadow: string;
        borderRadius: "4px";
        fontSize: "14px";
    };
    readonly tertiary: (mode: SystemThemeMode) => {
        backgroundColor: string;
        textColor: string;
        fontWeight: string;
        border: string;
        shadow: string;
        borderRadius: "4px";
        fontSize: "14px";
    };
};
export declare class CourierButton extends CourierSystemThemeElement {
    static get id(): string;
    private _button;
    private _style;
    constructor(props: CourierButtonProps);
    private getStyles;
    updateButton(props: CourierButtonProps): void;
}
