///
///
import * as angular from 'angular';
import { IParentChildBehaviorService, IChild } from '../../services/parentChild/parentChild.service';
import { IFormValidator } from '../../types/formValidators';
import { IAutosaveService, IAutosaveServiceFactory } from '../../services/autosave/autosave.service';
export declare let moduleName: string;
export declare let componentName: string;
export declare let controllerName: string;
export interface IFormBindings {
saving: boolean;
save(): void;
initializeDirty: boolean;
}
export interface IFormScope extends angular.IScope {
rlForm: IFormValidator;
}
export interface IFormBehavior {
save(): angular.IPromise | boolean;
}
export declare class FormController implements IFormBindings {
private $element;
private $scope;
private $timeout;
private $q;
private autosaveFactory;
private parentChild;
saving: boolean;
save: {
(): void;
};
form: IFormValidator;
childLink: IChild;
initializeDirty: boolean;
autosave: IAutosaveService;
static $inject: string[];
constructor($element: angular.IAugmentedJQuery, $scope: IFormScope, $timeout: angular.ITimeoutService, $q: angular.IQService, autosaveFactory: IAutosaveServiceFactory, parentChild: IParentChildBehaviorService);
$onInit(): void;
saveForm(): angular.IPromise;
}