///
import { BehaviorSubject } from "rxjs";
import { InstanceID, Proof } from "@dedis/cothority/byzcoin";
import { Darc, IIdentity, Rules } from "@dedis/cothority/darc";
import { TransactionBuilder } from "./transactionBuilder";
export declare class DarcsBS extends BehaviorSubject {
constructor(sbs: BehaviorSubject);
}
export declare class DarcBS extends BehaviorSubject {
readonly inst: BehaviorSubject;
constructor(darc: BehaviorSubject);
evolve(tx: TransactionBuilder, updates: IDarcAttr, unrestricted?: boolean): Darc;
setSignEvolve(tx: TransactionBuilder, idSign: IIdentity | InstanceID, idEvolve?: Buffer | IIdentity): void;
addSignEvolve(tx: TransactionBuilder, idSign: IIdentity | InstanceID, idEvolve?: Buffer | IIdentity): void;
rmSignEvolve(tx: TransactionBuilder, id: IIdentity | InstanceID): void;
}
export interface IDarcAttr {
description?: Buffer;
rules?: Rules;
}