<?php

namespace {{namespace}};

use AlexPavNik\BitrixModels\Models\IBlock\Element\BaseElementIBlockModel;
use AlexPavNik\BitrixModels\Bitrix\Tools;
use {{namespaceOverrides}}\{{nameClass}}ElementQuery;
use {{namespaceOverrides}}\{{nameClass}}PropsData;

class {{nameClass}}Model extends BaseElementIBlockModel
{
    public static function getIdIBlock(): int
    {
        return Tools::getIblockId('{{codeIBlock}}');
    }

    protected function propsDataObject(): {{nameClass}}PropsData
    {
        return new {{nameClass}}PropsData();
    }

    public function props(): {{nameClass}}PropsData
    {
        return parent::props();
    }

    public static function query(): {{nameClass}}ElementQuery
    {
        return new {{nameClass}}ElementQuery(static::getIdIBlock(), static::class);
    }
}