<?php

// AUTOMATICALLY GENERATED.  DO NOT EDIT.
// Use `composer build` to regenerate.

namespace Wikimedia\IDLeDOM\Stub;

use Exception;
use Wikimedia\IDLeDOM\Element;

trait HTMLElement {
	// use \Wikimedia\IDLeDOM\Stub\DocumentAndElementEventHandlers;
	// use \Wikimedia\IDLeDOM\Stub\ElementCSSInlineStyle;
	// use \Wikimedia\IDLeDOM\Stub\ElementContentEditable;
	// use \Wikimedia\IDLeDOM\Stub\GlobalEventHandlers;
	// use \Wikimedia\IDLeDOM\Stub\HTMLOrSVGElement;

	// Underscore is used to avoid conflicts with DOM-reserved names
	// phpcs:disable PSR2.Methods.MethodDeclaration.Underscore
	// phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName

	/**
	 * @return Exception
	 */
	abstract protected function _unimplemented(): Exception;

	// phpcs:enable

	/**
	 * @return bool
	 */
	public function getTranslate(): bool {
		throw self::_unimplemented();
	}

	/**
	 * @param bool $val
	 */
	public function setTranslate( bool $val ): void {
		throw self::_unimplemented();
	}

	/**
	 * @return void
	 */
	public function click(): void {
		throw self::_unimplemented();
	}

	/**
	 * @return string
	 */
	public function getAccessKeyLabel(): string {
		throw self::_unimplemented();
	}

	/**
	 * @return bool
	 */
	public function getDraggable(): bool {
		throw self::_unimplemented();
	}

	/**
	 * @param bool $val
	 */
	public function setDraggable( bool $val ): void {
		throw self::_unimplemented();
	}

	/**
	 * @return bool
	 */
	public function getSpellcheck(): bool {
		throw self::_unimplemented();
	}

	/**
	 * @param bool $val
	 */
	public function setSpellcheck( bool $val ): void {
		throw self::_unimplemented();
	}

	/**
	 * @return string
	 */
	public function getAutocapitalize(): string {
		throw self::_unimplemented();
	}

	/**
	 * @param string $val
	 */
	public function setAutocapitalize( string $val ): void {
		throw self::_unimplemented();
	}

	/**
	 * @return string
	 */
	public function getInnerText(): string {
		throw self::_unimplemented();
	}

	/**
	 * @param ?string $val
	 */
	public function setInnerText( ?string $val ): void {
		throw self::_unimplemented();
	}

	/**
	 * @return Element|null
	 */
	public function getOffsetParent() {
		throw self::_unimplemented();
	}

	/**
	 * @return int
	 */
	public function getOffsetTop(): int {
		throw self::_unimplemented();
	}

	/**
	 * @return int
	 */
	public function getOffsetLeft(): int {
		throw self::_unimplemented();
	}

	/**
	 * @return int
	 */
	public function getOffsetWidth(): int {
		throw self::_unimplemented();
	}

	/**
	 * @return int
	 */
	public function getOffsetHeight(): int {
		throw self::_unimplemented();
	}

}
