import type { Event, EventbaseConfig } from './types.js'; type QueryOptions = { limit?: number; offset?: number; sort?: { [key: string]: 1 | -1; }; project?: { [key: string]: 1; }; }; export interface MetaData { dateCreated: string; dateModified: string; changes: number; } type SubscriptionCallback = (key: string, data: T, meta: MetaData, event: Event) => void; type SubscriptionQuery = { [key: string]: any; }; export declare function createEventbase(config: EventbaseConfig): Promise<{ closed: boolean; get: (id: string) => Promise<{ meta: MetaData; data: T; } | null>; put: (id: string, data: T) => Promise<{ meta: MetaData; data: T; }>; insert: (data: T) => Promise<{ id: string; meta: MetaData; data: T; }>; delete: (id: string) => Promise<{ purged: number; }>; keys: (pattern?: string) => Promise; subscribe: (query: SubscriptionQuery, callback: SubscriptionCallback) => () => void; query: (queryObject: object, options?: QueryOptions) => Promise; count: (queryObject: object) => Promise; getLastAccessed: () => number; getActiveSubscriptions: () => number; deleteStream: () => Promise; close: () => Promise; }>; export { createEventbaseManager } from './manager.js'; export default createEventbase;