import { nothing } from '../../../../../external/lit/index.js';
import { UmbLitElement } from '../../../../core/lit-element/index.js';
export type UmbCheckboxListItem = {
    label: string;
    value: string;
    checked: boolean;
    invalid?: boolean;
};
declare const UmbInputCheckboxListElement_base: import("../../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../../core/validation/index.js").UmbFormControlMixinElement<string | undefined>> & typeof UmbLitElement;
export declare class UmbInputCheckboxListElement extends UmbInputCheckboxListElement_base {
    #private;
    list: Array<UmbCheckboxListItem>;
    set selection(values: Array<string>);
    get selection(): Array<string>;
    set value(value: string);
    get value(): string;
    /**
     * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.
     * @type {boolean}
     * @attr
     * @default false
     */
    readonly: boolean;
    /**
     * Sets the input to required, meaning validation will fail if the value is empty.
     * @type {boolean}
     */
    required?: boolean;
    requiredMessage?: string;
    constructor();
    render(): typeof nothing | import("lit-html").TemplateResult<1>;
    static readonly styles: import("lit").CSSResult[];
}
export default UmbInputCheckboxListElement;
declare global {
    interface HTMLElementTagNameMap {
        'umb-input-checkbox-list': UmbInputCheckboxListElement;
    }
}
