import { ChildAggregate } from '../meta/ChildAggregate';
import { Element } from '../meta/Element';
export declare enum AggregateAttributeType {
    CHILD_AGGREGATE = 0,
    ELEMENT = 1
}
/**
 * A generic descriptor for an attribute of an OFX aggregate.
 */
export declare class AggregateAttribute {
    private readMethod;
    private writeMethod;
    private attributeType;
    private collectionEntryType;
    private name;
    private order;
    private required;
    private type;
    private toString_;
    private collection;
    constructor(arg: Element | ChildAggregate);
    AggregateAttributeFromElement(elementInfo: Element): void;
    AggregateAttributeFromChildAggregate(childAggregate: ChildAggregate): void;
    get(instance: Object): any;
    set(value: any, instance: Object): void;
    getAttributeType(): any;
    getArrayEntryType(): any;
    getName(): string;
    isRequired(): boolean;
    getOrder(): number;
    getType(): AggregateAttributeType;
    static contentCompare(left: AggregateAttribute, right: AggregateAttribute): number;
    isArray(): boolean;
    toString(): string;
}
