import { SQLiteDriver } from "../drivers/SQLiteDriver"; import { AbstractSQLite } from "./AbstractSQLite"; import { SandBox } from "./SandBox"; import { DBDocument } from "./DocumentDAL"; export interface DBMembership extends DBDocument { membership: string; issuer: string; number: number; blockNumber: number; blockHash: string; userid: string; certts: string; block: string; fpr: string; idtyHash: string; written: boolean; written_number: number | null; expires_on: number; signature: string; expired: boolean | null; block_number: number; } export declare class MembershipDAL extends AbstractSQLite { constructor(driver: SQLiteDriver); init(): Promise; getMembershipsOfIssuer(issuer: string): Promise; getPendingINOfTarget(hash: string): Promise; getPendingIN(): Promise; getPendingOUT(): Promise; savePendingMembership(ms: DBMembership): Promise; deleteMS(ms: DBMembership): Promise; trimExpiredMemberships(medianTime: number): Promise; /************************** * SANDBOX STUFF */ getSandboxMemberships(): Promise; sandbox: SandBox<{ block_number: number; issuers: string[]; }>; getSandboxRoom(): Promise; setSandboxSize(maxSize: number): void; }