import { AbstractPeerAccountKeyring, AbstractSelfAccountKeyring } from "../../keyring/account_base";
import { AbstractConfigDumpArgs, AbstractConfigLoadArgs } from "../base";

export class DialogueConfigLoadArgs extends AbstractConfigLoadArgs{
    public self_kr;
    public peer_kr;
    public timestamp;

    constructor(cipher: Uint8Array,
        self_kr: AbstractSelfAccountKeyring,
        peer_kr: AbstractPeerAccountKeyring,
        timestamp: number){
            super(cipher);
            this.self_kr = self_kr;
            this.peer_kr = peer_kr;
            this.timestamp = timestamp;
        }

}

export class DialogueConfigDumpArgs extends AbstractConfigDumpArgs{

    public plain;
    public self_kr;
    public peer_kr;
    public timestamp;

    constructor(
        plain: Uint8Array,
        self_kr: AbstractSelfAccountKeyring,
        peer_kr: AbstractPeerAccountKeyring,
        timestamp: number
    ){
        super();
        this.plain = plain;
        this.self_kr = self_kr;
        this.peer_kr = peer_kr;
        this.timestamp = timestamp;
    }
}