import { TDatabaseInfoResponse, TGroupListAllResponse, TPagination, TProverRetryResponse, TSerializedValue, TUserFilter, TUserFindResponse, TZkProofHistoryResponse, TZkProofResponse, TZkProofStateResponse } from '@zkdb/common'; import { Result } from '../../utils/result'; import { ICollection } from './collection'; import { IGroup } from './group'; import { IUser } from './user'; export type TZkDbProofVerify = { step: bigint; merkleRoot: string; valid: boolean; }; export interface IDatabase { create(): Promise>; exist(): Promise>; info(): Promise>; collection(collectionName: string): ICollection; collectionList(): Promise>; group(groupName: string): IGroup; groupList(): Promise>; user(userFilter: TUserFilter): IUser; userList(offset?: number): Promise>; zkProof(sequenceNumber?: bigint): Promise>; zkProofVerify(step?: bigint): Promise>; proverRetry(): Promise>; zkProofHistory(pagination?: TPagination): Promise>; zkProofState(): Promise>; verificationKey(): Promise>; }