/**
 * Copyright Minteeble 2022. All Rights Reserved.
 * Node module: @minteeble/ui-components
 * This file is licensed under the MIT License.
 * License text available at https://opensource.org/licenses/MIT
 *
 * email:     minteeble@gmail.com
 * website:   https://minteeble.com
 */
/// <reference types="react" />
/**
 * Clickable component
 */
export interface ClickableComponent {
    /**
     *  OnClick callback
     */
    onClick?: (e?: React.MouseEvent<HTMLElement, MouseEvent>) => void;
}
/**
 * Components in which className can be extended
 */
export interface ClassExtensible {
    /**
     * ClassName string
     */
    className?: string;
}
/**
 * Component that can have children items
 */
export interface ParentComponent {
    children: any;
}
/**
 * Enum for specifying a component size
 */
export declare enum ComponentSize {
    Small = 0,
    Default = 1,
    Large = 2
}
/**
 * Components able to apply in-line style
 */
export interface StylableComponent {
    style?: any;
}
/**
 * Component able to be disabled
 */
export interface DisableableComponent {
    disabled?: boolean;
}
/**
 * Component able to be put in loading state
 */
export interface LoadableComponentProps {
    loading?: boolean;
}
