/// <reference types="core-js" />
import * as triggers from './triggers/triggers.service';
import { IFormValidator } from '../../types/formValidators';
export { triggers };
export declare var moduleName: string;
export declare var factoryName: string;
export interface IAutosaveService {
    autosave(...data: any[]): boolean;
    validateAndSave(...data: any[]): Promise<void> | boolean;
    contentForm: IFormValidator;
}
export interface IAutosaveServiceOptions {
    save: {
        (...data: any[]): Promise<void>;
    };
    contentForm?: IFormValidator;
    debounceDuration?: number;
    setChangeListener?: {
        (callback: triggers.IListener): triggers.IClearListener;
    };
    triggers?: string;
    saveWhenInvalid?: boolean;
}
export interface IAutosaveServiceFactory {
    getInstance(options: IAutosaveServiceOptions): IAutosaveService;
}
