/// <reference types="node" resolution-mode="require"/>
import { AliasHash } from '@polyaztec/barretenberg/account_id';
import { GrumpkinAddress } from '@polyaztec/barretenberg/address';
import { ProofId } from '@polyaztec/barretenberg/client_proofs';
import { TxId } from '@polyaztec/barretenberg/tx_id';
export declare class CoreAccountTx {
    readonly txId: TxId;
    readonly userId: GrumpkinAddress;
    readonly aliasHash: AliasHash;
    readonly newSpendingPublicKey1: Buffer | undefined;
    readonly newSpendingPublicKey2: Buffer | undefined;
    readonly migrated: boolean;
    readonly txRefNo: number;
    readonly created: Date;
    readonly settled?: Date | undefined;
    readonly proofId = ProofId.ACCOUNT;
    constructor(txId: TxId, userId: GrumpkinAddress, aliasHash: AliasHash, newSpendingPublicKey1: Buffer | undefined, newSpendingPublicKey2: Buffer | undefined, migrated: boolean, txRefNo: number, created: Date, settled?: Date | undefined);
}
export interface CoreAccountTxJson {
    proofId: number;
    txId: string;
    userId: string;
    aliasHash: string;
    newSpendingPublicKey1: string | undefined;
    newSpendingPublicKey2: string | undefined;
    migrated: boolean;
    txRefNo: number;
    created: Date;
    settled?: Date;
}
export declare const coreAccountTxToJson: (tx: CoreAccountTx) => CoreAccountTxJson;
export declare const coreAccountTxFromJson: (json: CoreAccountTxJson) => CoreAccountTx;
//# sourceMappingURL=core_account_tx.d.ts.map