import { ServerSecretParams, ServerZkProfileOperations, UuidCiphertext } from '@signalapp/libsignal-client/zkgroup';
import { signalservice as Proto } from '../../protos/compiled';
import { Group } from '../data/group';
export type ServerGroupOptions = Readonly<{
    profileOps: ServerZkProfileOperations;
    zkSecret: ServerSecretParams;
    state: Proto.IGroup;
}>;
export type ModifyGroupResult = Readonly<{
    conflict: false;
    signedChange: Proto.IGroupChange;
} | {
    conflict: true;
    signedChange: undefined;
}>;
export declare class ServerGroup extends Group {
    private readonly profileOps;
    private readonly zkSecret;
    constructor({ profileOps, zkSecret, state }: ServerGroupOptions);
    getGroupSendEndorsementResponse(sourceAci: UuidCiphertext): Uint8Array | null;
    modify(sourceAci: UuidCiphertext, sourcePni: UuidCiphertext, actions: Proto.GroupChange.IActions): ModifyGroupResult;
    private verifyAccess;
    private unrollMember;
}
