Source of file DocumentTemplateInterface.php

Size: 1,303 Bytes - Last Modified: 2019-09-16T10:31:02+00:00

/home/vagrant/www/document-templates/src/DocumentTemplates/DocumentTemplateInterface.php

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
<?php

namespace BWF\DocumentTemplates\DocumentTemplates;


use BWF\DocumentTemplates\Layouts\LayoutInterface;
use BWF\Renderers\RendererInterface;
use Illuminate\Support\Collection;

interface DocumentTemplateInterface
{
    /**
     * @param DocumentTemplateModelInterface|null $model
     * @return mixed
     */
    public function init(DocumentTemplateModelInterface $model = null);

    /**
     * @param LayoutInterface $layout
     * @return void
     */
    public function setLayout(LayoutInterface $layout);

    /**
     * @param \BWF\DocumentTemplates\Renderers\RendererInterface $renderer
     * @return mixed
     */
    public function setRenderer($renderer);

    /**
     * @param array|\Illuminate\Support\Collection|\stdClass $data
     * @param string $name
     * @return void
     */
    public function addTemplateData($data, $name = '');

    /**
     * @return string[]
     */
    public function getTemplatePlaceholders();

    /**
     * @return Collection|\BWF\DocumentTemplates\EditableTemplates\EditableTemplate[]
     */
    public function getTemplates();

    /**
     * @return string|boolean
     */
    public function render();

    /**
     * @param string $filePath
     *
     * @return string|boolean
     */
    public function renderPdf(string $filePath);

}