/// <reference types="xrm" />
import { FormName } from './NameTypes';
export declare abstract class FormProxy {
    private _xrm;
    /**
     * Asynchronously saves the record.
     * @returns Returns an asynchronous promise.
     */
    save(): Promise<void>;
    /**
     * Asynchronously refreshes data on the form, without reloading the page.
     * @param save true to save the record, after the refresh.
     * @returns Returns an asynchronous promise.
     */
    refresh(save: boolean): Promise<void>;
    /**
     * Gets form type.
     * @returns The form type.
     * @remarks **Values returned are**:
     * * 0  Undefined
     * * 1  Create
     * * 2  Update
     * * 3  Read Only
     * * 4  Disabled
     * * 6  Bulk Edit
     * * Deprecated values are 5 (Quick Create), and 11 (Read Optimized)
     */
    get FormType(): XrmEnum.FormType;
    /**
     * Gets the label for the form.
     * @returns The FormName.
     */
    get FormName(): FormName;
    /**
     * @returns The current Xrm Object on this script
     */
    get Xrm(): Xrm.XrmStatic;
    set Xrm(xrm: Xrm.XrmStatic);
}
