<?php
namespace Incoviba\Common\Define\Query;

use Incoviba\Common\Define;

interface Create extends Define\Query
{
    /**
     * @param string $name
     * @return Create
     */
    public function table(string $name): Create;

    /**
     * @param string|Create\CreateDefinition|array $create_definitions
     * @return Create
     */
    public function definitions(string|Create\CreateDefinition|array $create_definitions): Create;

    /**
     * @param string|array $table_options
     * @return Create
     */
    public function options(string|array $table_options): Create;

    /**
     * @param string|array $partition_options
     * @return Create
     */
    public function partition(string|array $partition_options): Create;
}
