import { Component, ReactNode } from 'react';
import { SwitchProps } from '../Switch';
import '../../helpers/base.less';
import './SwitchesPanelItem.less';
export interface SwitchesPanelItemProps {
    /**
     * A callback function, can be executed when the checked state is changing.
     * @since 0.3.0
     */
    onChange: (checked: boolean) => void;
    /**
     * Title of the `SwitchesPanelItem`. Must be no longer than two lines.
     * @since 0.3.0
     */
    title: ReactNode;
    /**
     * @ignore
     */
    defaultChecked?: boolean;
    /**
     * Visual intent color to apply to component.
     * @since 0.3.0
     */
    intent?: 'warning' | 'danger';
    /**
     * `SwitchesPanelItem` description. Must be no longer than three lines.
     * @since 0.3.0
     */
    description?: ReactNode;
    /**
     * Rich full description of the `SwitchesPanelItem`.
     * Adds control button with question mark that shows `Popover` on click.
     * @since 0.3.0
     */
    fullDescription?: ReactNode;
    /**
     * Props of underlying [Switch](#!/Switch) component.
     * @since 0.5.0
     */
    switchProps?: SwitchProps;
    /**
     * Content of the control actions.
     * Don't place here more than three buttons (with the one from 'fullDescription' property) or one link and one button.
     * @since 0.3.0
     */
    children: ReactNode;
    /**
     * @ignore
     */
    className?: string;
    /**
     * @ignore
     */
    baseClassName?: string;
}
/**
 * `SwitchesPanelItem` component is used for combining [Switch](#!/Switch) component with text title and description.
 * Used in [SwitchesPanel](#!/SwitchesPanel).
 * @since 0.3.0
 */
declare class SwitchesPanelItem extends Component<SwitchesPanelItemProps> {
    static defaultProps: {
        defaultChecked: boolean;
        intent: null;
        description: null;
        fullDescription: null;
        switchProps: {};
        children: null;
        className: null;
        baseClassName: string;
    };
    state: {
        checked: boolean | undefined;
    };
    handleChange: (checked: boolean) => void;
    render(): JSX.Element;
}
export default SwitchesPanelItem;
