import { BN } from '@coast-team/mute-crypto-helper';
import { Key } from './Key';
import { IContent } from './proto/index';
export declare class Cycle {
    id: number;
    counter: number;
    members: number[];
    r: BN;
    z: Uint8Array;
    zArray: Uint8Array[];
    xArray: Uint8Array[];
    isZBroadcasted: boolean;
    isXBroadcasted: boolean;
    isFinished: boolean;
    private send;
    private _onKey;
    private firstXadded;
    private myId;
    private myMembers;
    constructor(id: number, counter: number, members: number[], myId: number, send: (msg: IContent) => void, myMembers: number[]);
    addX(index: number, x: Uint8Array): void;
    set onKey(handler: (key: Key) => void);
    isReadyToBroadcastZ(members: number[]): boolean;
    checkZArray(myId: number, members: number[]): void;
    checkXArray(myId: number, members: number[]): Promise<void>;
    debug(msg: string): void;
    assert(condition: boolean, msg: string): void;
    broadcastZ(): void;
    broadcastX(x: Uint8Array): void;
    private formatCycle;
}
