import * as React from 'react';
import { XCheckbox } from "./XCheckbox";
import { IgrCheckboxChangeEventArgs } from './igr-checkbox-change-event-args';
import { CheckboxLabelPosition } from './CheckboxLabelPosition';
import { BaseControlTheme } from "igniteui-react-core";
export declare class IgrXCheckbox extends React.Component<IIgrXCheckboxProps> {
    private _container;
    private _initialized;
    private _elRef;
    private _portalManager;
    private _wrapper;
    private _getMainRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
        children: any[];
    }, any>;
    private requestRender;
    constructor(props: IIgrXCheckboxProps);
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    protected initializeProperties(): void;
    updateStyle(): void;
    destroy(): void;
    componentWillUnmount(): void;
    private _implementation;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): XCheckbox;
    get i(): XCheckbox;
    private _checkbox;
    /**
 * Gets or sets the base built in theme to use for the checkbox.
*/
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    /**
     * Gets or sets the color to use for the background when the checkbox is unchecked.
    */
    get uncheckedBackgroundColor(): string;
    set uncheckedBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the actual background when the checkbox is unchecked.
    */
    get actualUncheckedBackgroundColor(): string;
    set actualUncheckedBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the background when the checkbox is checked.
    */
    get checkedBackgroundColor(): string;
    set checkedBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get tickColor(): string;
    set tickColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualTickColor(): string;
    set actualTickColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is unchecked.
    */
    get uncheckedBorderColor(): string;
    set uncheckedBorderColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get checkedBorderColor(): string;
    set checkedBorderColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualUncheckedBorderColor(): string;
    set actualUncheckedBorderColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualCheckedBorderColor(): string;
    set actualCheckedBorderColor(v: string);
    /**
     * Gets or sets the Width to use for the check mark when the checkbox is checked.
    */
    get borderWidth(): number;
    set borderWidth(v: number);
    /**
     * Gets or sets the Width to use for the check mark when the checkbox is checked.
    */
    get actualBorderWidth(): number;
    set actualBorderWidth(v: number);
    /**
     * Gets or sets the corner radius to use for the checkbox.
    */
    get cornerRadius(): number;
    set cornerRadius(v: number);
    /**
     * Gets or sets the corner radius to use for the checkbox.
    */
    get tickStrokeWidth(): number;
    set tickStrokeWidth(v: number);
    /**
     * Gets or sets the stroke width to use for the check mark.
    */
    get actualTickStrokeWidth(): number;
    set actualTickStrokeWidth(v: number);
    /**
     * Gets the actual corner radius to use for the checkbox.
    */
    get actualCornerRadius(): number;
    set actualCornerRadius(v: number);
    /**
     * Gets or sets the color to use for the actual background when the checkbox is checked.
    */
    get actualCheckedBackgroundColor(): string;
    set actualCheckedBackgroundColor(v: string);
    /**
     * Gets or sets the id to use for the internal native checkbox.
    */
    get inputId(): string;
    set inputId(v: string);
    /**
     * Gets or sets the id to use for the checkbox.
    */
    get id(): string;
    set id(v: string);
    /**
     * Gets or sets id to use for the checkbox label.
    */
    get labelId(): string;
    set labelId(v: string);
    /**
     * Gets or sets name to use for the checkbox.
    */
    get name(): string;
    set name(v: string);
    /**
     * Gets or sets TabIndex to use for the checkbox.
    */
    get tabIndex(): number;
    set tabIndex(v: number);
    /**
     * Gets or sets if the checkbox is required.
    */
    get required(): number;
    set required(v: number);
    /**
     * Gets or sets the value of the aria-labelledby attribute.
    */
    get ariaLabelledBy(): string;
    set ariaLabelledBy(v: string);
    /**
     * Gets or sets the value of the aria-label attribute.
    */
    get ariaLabel(): string;
    set ariaLabel(v: string);
    /**
     * Gets or sets value to use for the checkbox.
    */
    get value(): any;
    set value(v: any);
    /**
     * Gets or sets if the checkbox is Focused.
    */
    get focused(): boolean;
    set focused(v: boolean);
    /**
     * Gets or sets LabelPosition to use for the checkbox.
    */
    get labelPosition(): CheckboxLabelPosition;
    set labelPosition(v: CheckboxLabelPosition);
    /**
     * Gets or sets whether to disable the ripple effect for the checkbox.
    */
    get disableRipple(): boolean;
    set disableRipple(v: boolean);
    /**
     * Gets or sets whether the checkbox is checked.
    */
    get checked(): boolean;
    set checked(v: boolean);
    /**
     * Gets or sets whether the checkbox is indeterminate.
    */
    get indeterminate(): boolean;
    set indeterminate(v: boolean);
    /**
     * Gets or sets whether the checkbox is disabled.
    */
    get disabled(): boolean;
    set disabled(v: boolean);
    /**
     * Gets or sets whether the checkbox transitions are disabled.
    */
    get disableTransitions(): boolean;
    set disableTransitions(v: boolean);
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    /**
     * Exports visual information about the current state of the grid.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    private _change;
    private _change_wrapped;
    get change(): (s: IgrXCheckbox, e: IgrCheckboxChangeEventArgs) => void;
    set change(ev: (s: IgrXCheckbox, e: IgrCheckboxChangeEventArgs) => void);
}
export interface IIgrXCheckboxProps {
    children?: React.ReactNode;
    /**
 * Gets or sets the base built in theme to use for the checkbox.
*/
    baseTheme?: BaseControlTheme | string;
    /**
     * Gets or sets the color to use for the background when the checkbox is unchecked.
    */
    uncheckedBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the actual background when the checkbox is unchecked.
    */
    actualUncheckedBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the background when the checkbox is checked.
    */
    checkedBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    tickColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualTickColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is unchecked.
    */
    uncheckedBorderColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    checkedBorderColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualUncheckedBorderColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualCheckedBorderColor?: string;
    /**
     * Gets or sets the Width to use for the check mark when the checkbox is checked.
    */
    borderWidth?: number | string;
    /**
     * Gets or sets the Width to use for the check mark when the checkbox is checked.
    */
    actualBorderWidth?: number | string;
    /**
     * Gets or sets the corner radius to use for the checkbox.
    */
    cornerRadius?: number | string;
    /**
     * Gets or sets the corner radius to use for the checkbox.
    */
    tickStrokeWidth?: number | string;
    /**
     * Gets or sets the stroke width to use for the check mark.
    */
    actualTickStrokeWidth?: number | string;
    /**
     * Gets the actual corner radius to use for the checkbox.
    */
    actualCornerRadius?: number | string;
    /**
     * Gets or sets the color to use for the actual background when the checkbox is checked.
    */
    actualCheckedBackgroundColor?: string;
    /**
     * Gets or sets the id to use for the internal native checkbox.
    */
    inputId?: string;
    /**
     * Gets or sets the id to use for the checkbox.
    */
    id?: string;
    /**
     * Gets or sets id to use for the checkbox label.
    */
    labelId?: string;
    /**
     * Gets or sets name to use for the checkbox.
    */
    name?: string;
    /**
     * Gets or sets TabIndex to use for the checkbox.
    */
    tabIndex?: number | string;
    /**
     * Gets or sets if the checkbox is required.
    */
    required?: number | string;
    /**
     * Gets or sets the value of the aria-labelledby attribute.
    */
    ariaLabelledBy?: string;
    /**
     * Gets or sets the value of the aria-label attribute.
    */
    ariaLabel?: string;
    /**
     * Gets or sets value to use for the checkbox.
    */
    value?: any;
    /**
     * Gets or sets if the checkbox is Focused.
    */
    focused?: boolean | string;
    /**
     * Gets or sets LabelPosition to use for the checkbox.
    */
    labelPosition?: CheckboxLabelPosition | string;
    /**
     * Gets or sets whether to disable the ripple effect for the checkbox.
    */
    disableRipple?: boolean | string;
    /**
     * Gets or sets whether the checkbox is checked.
    */
    checked?: boolean | string;
    /**
     * Gets or sets whether the checkbox is indeterminate.
    */
    indeterminate?: boolean | string;
    /**
     * Gets or sets whether the checkbox is disabled.
    */
    disabled?: boolean | string;
    /**
     * Gets or sets whether the checkbox transitions are disabled.
    */
    disableTransitions?: boolean | string;
    change?: (s: IgrXCheckbox, e: IgrCheckboxChangeEventArgs) => void;
}
