/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as Intercom from "../index";
/**
 * A checkbox component is used to capture multiple choices from as many options as you want to provide. You can submit the options by:
 *
 * - Using a ButtonComponent (which will submit all interactive components in the canvas)
 *
 * When a submit action takes place, the results are given in a hash with the `id` from the checkbox component used as the key and an array containing the `id` of each chosen option as the value.
 */
export interface CheckboxComponent {
    /** A unique identifier for the component. */
    id: string;
    /** The list of options. Minimum of 1. */
    option: Intercom.CheckboxOption[];
    /** The text shown above the options. */
    label: string;
    /** The option's that are selected by default. */
    value?: string[];
    /** Styles the input. Default is `unsaved`. Prevent action with `saved`. */
    save_state?: CheckboxComponent.SaveState;
    /** Styles all options and prevents the action. Default is false. Will be overridden if save_state is saved. */
    disabled?: boolean;
}
export declare namespace CheckboxComponent {
    /**
     * Styles the input. Default is `unsaved`. Prevent action with `saved`.
     */
    type SaveState = "unsaved" | "saved" | "failed";
    const SaveState: {
        readonly Unsaved: "unsaved";
        readonly Saved: "saved";
        readonly Failed: "failed";
    };
}
