/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core';
import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';
import { ICheckboxComponent } from './checkbox';
export declare type CheckboxComponentDelegateProps = Partial<ICheckboxComponent>;
export interface ICheckboxComponentDelegateOptions extends IFormFieldComponentDelegateOptions {
    id?: string;
    label?: string;
    checked?: boolean;
}
export interface ICheckboxComponentDelegateConfig extends IBaseComponentDelegateConfig<ICheckboxComponent, ICheckboxComponentDelegateOptions> {
}
export declare class CheckboxComponentDelegate extends FormFieldComponentDelegate<ICheckboxComponent, ICheckboxComponentDelegateOptions> {
    private _inputElement;
    private _labelElement?;
    constructor(config?: ICheckboxComponentDelegateConfig);
    get value(): boolean;
    set value(value: boolean);
    get checked(): boolean;
    set checked(value: boolean);
    get disabled(): boolean;
    set disabled(value: boolean);
    get inputElement(): HTMLInputElement;
    get labelElement(): HTMLLabelElement | undefined;
    onChange(listener: (value: boolean) => void): void;
    onFocus(listener: (evt: Event) => void): void;
    onBlur(listener: (evt: Event) => void): void;
    setLabel(text: string | null): void;
    protected _build(): ICheckboxComponent;
    protected _configure(): void;
    private _createLabel;
    private _buildInputElement;
}
