import type { LogContext } from '@rocicorp/logger';
import type { LogConfig } from '../../otel/src/log-options.ts';
import type { Schema } from '../../zero-schema/src/builder/schema-builder.ts';
import type { FilterInput } from '../../zql/src/ivm/filter-operators.ts';
import { MemoryStorage } from '../../zql/src/ivm/memory-storage.ts';
import type { Input } from '../../zql/src/ivm/operator.ts';
import type { Source, SourceInput } from '../../zql/src/ivm/source.ts';
import type { CommitListener, QueryDelegate } from '../../zql/src/query/query-delegate.ts';
import type { Database } from './db.ts';
export declare class QueryDelegateImpl implements QueryDelegate {
    #private;
    readonly defaultQueryComplete = true;
    constructor(lc: LogContext, db: Database, schema: Schema, logConfig?: LogConfig | undefined);
    getSource(tableName: string): Source;
    createStorage(): MemoryStorage;
    decorateSourceInput(input: SourceInput): Input;
    decorateInput(input: Input): Input;
    decorateFilterInput(input: FilterInput): FilterInput;
    addServerQuery(): () => void;
    addEdge(): void;
    addCustomQuery(): () => void;
    updateServerQuery(): void;
    updateCustomQuery(): void;
    flushQueryChanges(): void;
    onTransactionCommit(cb: CommitListener): () => void;
    batchViewUpdates<T>(applyViewUpdates: () => T): T;
    assertValidRunOptions(): void;
    addMetric(): void;
}
//# sourceMappingURL=query-delegate.d.ts.map