import { Container } from 'inversify';
import { Element } from '../element.js';
import { Action } from './action.js';
import { Context } from './context.js';
import { Entity } from './entity.js';
import { Module, ModuleMetadata } from './module.js';
import { ParamSpec } from './params.js';
import { Script } from './script.js';
export declare abstract class Unit<P> extends Entity<P> {
    static $help: string;
    static get $metadata(): ModuleMetadata;
    abstract get type(): string;
    abstract get $action(): Action;
    get $class(): Module;
    get $context(): Context;
    get $script(): Script;
    get $engine(): import("../engine.js").Engine;
    get $browser(): import("../index.js").BrowserService;
    get $page(): import("../../index.js").Page;
    get $container(): Container;
    toJSON(): any;
    getParams(): ParamSpec[];
    deserializeParam(param: ParamSpec, value: any): any;
    readParams(spec: any): void;
    getParamValue(name: string): any;
    createDocument(value?: any): Promise<Element>;
}
//# sourceMappingURL=unit.d.ts.map