import { AssetClass } from '../../asset/asset.class';
import { IAsset } from '../../interface/asset.interface';
import { BoundarySetupModel } from '../../model/boundary-set.model';
import { ObservableModel } from '../../model/observable.model';
import { GameService } from '../../service/game.service';
export declare abstract class SpaceshipClass extends AssetClass {
    private isPrimary;
    private moves;
    private missileFired;
    private missileTimer;
    private keyDownInterval;
    private currentKeyDown;
    constructor(gameService: GameService, ctx: CanvasRenderingContext2D, boundarySetup: BoundarySetupModel, isPrimary: boolean);
    private keyDownMove;
    protected processKeyStroke(event: ObservableModel): void;
    protected spawn(): void;
    protected draw(): void;
    private drawSpaceship;
    private drawEngine;
    isHit(alienBombAsset: IAsset): void;
    private drawSpaceshipDestruction;
    private destructionAnimate;
    animate(now?: number): void;
}
