<?php

declare(strict_types=1);

namespace App\Framework\Database\QueryBuilder;

/**
 * Base interface for all query builders
 */
interface QueryBuilder
{
    /**
     * Build the SQL query
     */
    public function toSql(): string;

    /**
     * Get parameters for prepared statement
     */
    public function getParameters(): array;

    /**
     * Execute the query and return results
     */
    public function execute(): mixed;
}
