import { ITemplateField, IEnvelopeField } from '@verdocs/js-sdk';
import { EventEmitter } from '../../../stencil-public-runtime';
/**
 * Displays an initial field. If an initial already exists, it will be displayed and the field
 * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will
 * show a dialog to adopt an initial.
 *
 * NOTE: When initial fields are completed they will be filled with an initial "stamp".
 * This requires operation against a live, valid envelope. If you are testing this component
 * in Storybook, it will not be visible here.
 */
export declare class VerdocsFieldInitial {
    /**
     * 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;
    /**
     * The document or template field to display.
     */
    initials: string;
    /**
     * 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 is considered "done" and is drawn in a display-final-value state.
     */
    done?: 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 emitted when an initial block is adopted by the user. The event detail will contain the base64 string of the initial image.
     */
    adopt: EventEmitter<string>;
    /**
     * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved "cancel" event name.
     */
    exit: EventEmitter;
    /**
     * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.
     * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every
     * keypress.
     */
    fieldChange: EventEmitter<string>;
    /**
     * Event fired when the field's settings are changed.
     */
    settingsChanged: EventEmitter<{
        fieldName: string;
        field: ITemplateField;
    }>;
    /**
     * Event fired on every character entered into / deleted from the field.
     */
    settingsPress: EventEmitter;
    /**
     * Event fired when the field is deleted.
     */
    deleted: EventEmitter<{
        fieldName: string;
    }>;
    showingProperties?: boolean;
    focused?: boolean;
    focusField(): Promise<void>;
    tempInitials: string;
    private dialog?;
    hideDialog(): void;
    handleAdopt(e: any): void;
    handleShow(): void;
    showSettingsPanel(): Promise<void>;
    hideSettingsPanel(): Promise<void>;
    render(): any;
}
