import { EventEmitter } from '../../../stencil-public-runtime';
import { type ITemplate, ITemplateField, TFieldType, VerdocsEndpoint } from '@verdocs/js-sdk';
import { SDKError } from '../../../utils/errors';
/**
 * Displays an edit form that allows the user to adjust a field's settings.
 */
export declare class VerdocsTemplateFieldProperties {
    private templateListenerId;
    el: any;
    /**
     * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
     */
    endpoint: VerdocsEndpoint;
    /**
     * The template ID to edit.
     */
    templateId: string;
    /**
     * The field to configure.
     */
    fieldName: string;
    /**
     * If specified, the properties card will have a "back" side with the help text as its content.
     */
    helpText?: string;
    /**
     * Event fired when the user cancels the dialog.
     */
    close: EventEmitter;
    /**
     * Event fired when the user deletes the role. The parent should update its UI to reflect the removal. When this event is emitted,
     * the role will have already been deleted server-side.
     */
    delete: EventEmitter<{
        templateId: string;
        roleName: string;
    }>;
    /**
     * Event fired when the field's settings are changed.
     */
    settingsChanged: EventEmitter<{
        fieldName: string;
        field: ITemplateField;
    }>;
    /**
     * Event fired if an error occurs. The event details will contain information about the error. Most errors will
     * terminate the process, and the calling application should correct the condition and re-render the component.
     */
    sdkError: EventEmitter<SDKError>;
    dirty: boolean;
    label: string;
    type: TFieldType;
    name: string;
    required: boolean;
    roleName: string;
    group: string;
    fieldType: string;
    options: any[];
    placeholder: string;
    defaultValue: string;
    showingHelp: boolean;
    loading: boolean;
    template: ITemplate | null;
    disconnectedCallback(): void;
    listenToTemplate(): Promise<void>;
    unlistenToTemplate(): void;
    componentWillLoad(): Promise<void>;
    resetForm(): void;
    handleCancel(e: any): void;
    handleSave(e: any): void;
    handleDelete(e: any): Promise<void>;
    cleanupOptions(): void;
    render(): any;
}
