/// <reference types="jquery" />
import { Form, FormLifecycleModel, InitModelOf, Lifecycle, Status, ValidationResult } from '../../index';
export declare class FormLifecycle<TValidationResult extends ValidationResult = ValidationResult> extends Lifecycle<TValidationResult> implements FormLifecycleModel {
    model: FormLifecycleModel;
    widget: Form;
    constructor();
    init(model: InitModelOf<this>): void;
    protected _reset(): void;
    invalidElements(): {
        missingElements: TValidationResult[];
        invalidElements: TValidationResult[];
    };
    protected _invalidElementText(element: TValidationResult): string;
    protected _missingElementText(element: TValidationResult): string;
    protected _validateWidget(): Status | JQuery.Promise<Status>;
    protected _handleInvalid(status: Status): JQuery.Promise<Status>;
    protected _revealInvalidElement(invalidElement: TValidationResult): void;
    markAsSaved(): void;
    saveNeeded(): boolean;
}
//# sourceMappingURL=FormLifecycle.d.ts.map