import { ITemplateField, IEnvelopeField } from '@verdocs/js-sdk';
import { EventEmitter } from '../../../stencil-public-runtime';
/**
 * Displays a checkbox.
 */
export declare class VerdocsFieldCheckbox {
    /**
     * Fields may be attached to templates or envelopes, but only template fields may be edited.
     */
    source: 'template' | 'envelope';
    /**
     * The source template or envelope ID the field is found in.
     */
    sourceid: string;
    /**
     * The name of the field to display.
     */
    fieldname: string;
    /**
     * Override the field's settings. This is intended to be used during signing when fields are being
     * mutated.
     */
    field: IEnvelopeField | null | undefined;
    /**
     * If set, overrides the field's settings object. Primarily used to support "preview" modes where all fields are disabled.
     */
    disabled?: boolean;
    /**
     * If set, the field is considered "done" and is drawn in a display-final-value state.
     */
    done?: boolean;
    /**
     * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be
     * changed, so it should typically only be enabled in the Builder.
     */
    editable?: boolean;
    /**
     * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.
     */
    moveable?: boolean;
    /**
     * If set, the field will be be scaled horizontally by this factor.
     */
    xscale?: number;
    /**
     * If set, the field will be be scaled vertically by this factor.
     */
    yscale?: number;
    /**
     * The page the field is on
     */
    pagenumber?: number;
    /**
     * Event fired when the field's settings are changed.
     */
    settingsChanged: EventEmitter<{
        fieldName: string;
        field: ITemplateField;
    }>;
    /**
     * Event fired when the field is deleted.
     */
    deleted: EventEmitter<{
        fieldName: string;
    }>;
    showingProperties?: boolean;
    focused?: boolean;
    focusField(): Promise<void>;
    showSettingsPanel(): Promise<void>;
    hideSettingsPanel(): Promise<void>;
    render(): any;
}
