import { z } from 'zod';
import { GenericTable } from './table';
export interface TableOptions {
    userScoped?: boolean;
    indexes?: string[];
}
export declare class UserDODatabase {
    private storage;
    private currentUserId;
    private broadcast?;
    private tables;
    private schemas;
    constructor(storage: DurableObjectStorage, currentUserId: string, broadcast?: ((event: string, data: any) => void) | undefined);
    table<T extends z.ZodSchema>(name: string, schema: T, options?: TableOptions): GenericTable<z.infer<T>>;
    get raw(): SqlStorage;
    private ensureTableExists;
}
