/// <reference types="node" />
import { ImmutableSubStore } from '../../state_machine';
import { AuthAccount } from './stores/auth_account';
export type ImmutableStoreCallback = (moduleID: Buffer, storePrefix: Buffer) => ImmutableSubStore;
export interface Keys {
    numberOfSignatures: number;
    mandatoryKeys: Buffer[];
    optionalKeys: Buffer[];
}
export interface RegisterMultisignatureParams {
    numberOfSignatures: number;
    mandatoryKeys: Buffer[];
    optionalKeys: Buffer[];
    signatures: Buffer[];
}
export interface AuthAccountJSON {
    nonce: string;
    numberOfSignatures: number;
    mandatoryKeys: string[];
    optionalKeys: string[];
}
export interface VerifyEndpointResultJSON {
    verified: boolean;
}
export interface KeySignaturePair {
    publicKey: string;
    signature: string;
}
export interface SortedMultisignatureGroup {
    mandatoryKeys: string[];
    optionalKeys: string[];
    signatures: string[];
}
export interface GenesisAuthStore {
    authDataSubstore: {
        address: Buffer;
        authAccount: AuthAccount;
    }[];
}
export interface MultiSigRegMsgTag {
    tag: string;
}
