//#region src/types.d.ts
type Stored<T> = {
  id: string;
  createdAt: string;
  record: T;
};
type ListFilter = {
  limit?: number;
  cursor?: string;
};
type Page<R> = {
  items: R[];
  nextCursor: string | null;
};
interface RecordStore<T> {
  append(record: T): Promise<Stored<T>>;
  list(filter?: ListFilter): Promise<Page<Stored<T>>>;
}
interface RecordStoreAdmin<T> extends RecordStore<T> {
  get(id: string): Promise<Stored<T> | null>;
  delete(id: string): Promise<void>;
}
//#endregion
export { Stored as a, RecordStoreAdmin as i, Page as n, RecordStore as r, ListFilter as t };