import { UAttribute } from "./attribute";
import { UModel } from "./model";
export declare class UFeature {
    private _name;
    private _input?;
    private _output?;
    private _attributes;
    constructor(name: string);
    $name(): string;
    $attribute<Type>(attribute: UAttribute<Type> | string): UAttribute<any> | null;
    $attributes(): UAttribute<any>[];
    attributes(attributes: UAttribute<any>[]): this;
    $input(): UModel | undefined;
    $output(): UModel | undefined;
    input(model: UModel): this;
    output(model: UModel): this;
    _updateRootModule(): void;
    removeAttributes(attributes: UAttribute<any>[]): this;
}
