import { DataModelBase } from '@themost/common';
declare interface CallbackDataEventArgs {
    model: DataModelBase;
    target: any;
    state?: number;
    emitter?: any;
    query?: any;
    previous?: any;
    throwError?: boolean;
}
declare function beforeUpgrade(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
declare function afterUpgrade(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
declare function beforeExecute(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
declare function afterExecute(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
declare function beforeSave(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
declare function afterSave(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
declare function beforeRemove(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
declare function afterRemove(event: CallbackDataEventArgs, callback: (err?: Error) => void): void;
export { beforeUpgrade, afterUpgrade, beforeSave, afterSave, beforeExecute, afterExecute, beforeRemove, afterRemove };
