import { VaultBody } from "./vault.events";
import { DistributionBody } from "./lpda.events";
import { ReconstructionBody } from "./optimistic-bid.events";
import { EventContextBody } from "./common";
import { InternalEventBuilder } from "./InternalEventBuilder";
export declare const RAES_MINTED: string;
export declare const RAES_BURNED: string;
export declare const RAES_PURCHASED: string;
export declare type RaePurchasedBody = {
    vault: VaultBody;
    details: PurchaseBody;
    reconstruction?: ReconstructionBody | null;
    distribution?: DistributionBody | null;
    context: EventContextBody;
};
export declare type PurchaseBody = {
    tokenAddress: string;
    tokenId?: number;
    walletAddress: string;
    priceWei: string;
    amount: number;
    priceUsd: string;
    source: string | null;
};
export declare class RaeEventBuilder extends InternalEventBuilder {
    protected vault: VaultBody | null;
    protected distribution: DistributionBody | null;
    protected reconstitution: ReconstructionBody | null;
    protected details?: object;
    setVault(vault: VaultBody): this;
    setDistribution(distribution: DistributionBody): this;
    setReconstitution(reconstitution: ReconstructionBody): this;
    setDetails(details: object): this;
    protected getDefaultBody(): {
        vault: any;
        context: EventContextBody;
    };
    protected getRaePurchasedBody(): RaePurchasedBody;
    getEventBody(eventName: string): object;
}
