import { ModelProvider } from '../../../types';
import { BindingModel, BindingProps } from '../../interfaces';
export interface AVGItemModel {
    type?: string;
    bind?: BindingModel[];
    description?: string;
    style?: string;
    when?: string;
}
export interface AVGItemProps {
    bind?: BindingProps[];
    description?: string;
    style?: string;
    when?: string;
}
export declare abstract class AVGItem<T extends AVGItemModel, P extends AVGItemProps> implements ModelProvider<T> {
    readonly props: P;
    readonly type: string;
    constructor(type: string, props: P);
    toJSON(): T;
    model(): T;
    abstract commandSpecificModel(): T;
}
