1<?php
2
3namespace Rubix\ML\Persisters;
4
5use Rubix\ML\Persistable;
6use Stringable;
7
8/**
9 * Persister
10 *
11 * @category    Machine Learning
12 * @package     Rubix/ML
13 * @author      Andrew DalPino
14 */
15interface Persister extends Stringable
16{
17    /**
18     * Save the persistable object.
19     *
20     * @param \Rubix\ML\Persistable $persistable
21     */
22    public function save(Persistable $persistable) : void;
23
24    /**
25     * Load the last saved persistable instance.
26     *
27     * @return \Rubix\ML\Persistable
28     */
29    public function load() : Persistable;
30}
31