import { Vector } from '../vector';
import Unit from '../unit';

export type UpdateOptions = {
	position: Vector;
	direction: Vector;
	enemies: Unit[];
};

export interface Weapon {
	update(dt: number, options: UpdateOptions): void;
	draw(ctx: CanvasRenderingContext2D): void;
	filterProjectiles(
		left: number,
		top: number,
		right: number,
		bottom: number,
	): void;
	checkHit(enemy: Unit): void;

	get key(): string;

	upgrade(): void;
	// get level(): number;
}
