export declare abstract class UseCase<DATA, RESULT, OPTIONS> {
    execute(data: DATA, options?: OPTIONS): Promise<RESULT>;
    protected initData(data: DATA): Promise<DATA>;
    protected validateData(data: DATA): Promise<DATA>;
    protected abstract innerExecute(data: DATA, options?: OPTIONS): Promise<RESULT>;
}
