1<?php
2
3/*
4 * This file is part of the Prophecy.
5 * (c) Konstantin Kudryashov <ever.zet@gmail.com>
6 *     Marcello Duarte <marcello.duarte@gmail.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Prophecy\Promise;
13
14use Prophecy\Prophecy\ObjectProphecy;
15use Prophecy\Prophecy\MethodProphecy;
16
17/**
18 * Promise interface.
19 * Promises are logical blocks, tied to `will...` keyword.
20 *
21 * @author Konstantin Kudryashov <ever.zet@gmail.com>
22 */
23interface PromiseInterface
24{
25    /**
26     * Evaluates promise.
27     *
28     * @param array          $args
29     * @param ObjectProphecy $object
30     * @param MethodProphecy $method
31     *
32     * @return mixed
33     */
34    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method);
35}
36