import { StringConversion } from "./StringConversion";
import { OFXWriter } from "./OFXWriter";
import { SortedSet } from "../collections/SortedSet";
import { AggregateAttribute } from "./AggregateAttribute";
/**
 * Marshaller for aggregate objects.
 */
export declare class AggregateMarshaller {
    private conversion;
    constructor();
    /**
     * Marshal the specified aggregate object.
     *
     * @param aggregate The aggregate to marshal.
     * @param writer    The writer.
     */
    marshal(aggregate: Object, writer: OFXWriter): void;
    /**
     * Write the aggregate attributes for the specified aggregate.
     *
     * @param aggregate           The aggregate.
     * @param writer              The writer.
     * @param aggregateAttributes The aggregate attributes.
     */
    protected writeAggregateAttributes(aggregate: Object, writer: OFXWriter, aggregateAttributes: SortedSet<AggregateAttribute>): void;
    /**
     * The conversion.
     *
     * @return The conversion.
     */
    getConversion(): StringConversion;
    /**
     * The conversion.
     *
     * @param conversion The conversion.
     */
    setConversion(conversion: StringConversion): void;
}
