import { checkboxGroup } from './middleware';
import { RenderResult } from '@dojo/framework/core/interfaces';
declare type CheckboxOptions = {
    value: string;
    label?: string;
}[];
export interface CheckboxGroupProperties {
    /** The name attribute for this form group */
    name: string;
    /** Object containing the values / labels to create checkboxes for */
    options: CheckboxOptions;
    /** Callback for the current value */
    onValue(value: string[]): void;
    /** Initial value of the checkbox group */
    initialValue?: string[];
    /** A controlled value for the checkbox group */
    value?: string[];
}
export interface CheckboxGroupChildren {
    /** Custom renderer for the checkboxes, receives the checkbox group middleware and options */
    checkboxes?(name: string, middleware: ReturnType<ReturnType<typeof checkboxGroup>['api']>, options: CheckboxOptions): RenderResult;
    /** A label for the checkbox group */
    label?: RenderResult;
}
export declare const CheckboxGroup: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{
    properties: CheckboxGroupProperties & import("@dojo/framework/core/interfaces").WidgetProperties & {
        variant?: "default" | "inherit" | undefined;
    } & import("@dojo/framework/core/middleware/theme").ThemeProperties;
    children: CheckboxGroupChildren;
}>;
export default CheckboxGroup;
