import { Value as ConvexValue } from "convex/values";
import { DatabaseReader, DatabaseWriter } from "./_generated/server.js";
import { Doc } from "./_generated/dataModel.js";
import { Item } from "./schema.js";
export declare const DEFAULT_MAX_NODE_SIZE = 16;
export type Key = ConvexValue;
export type Value = ConvexValue;
export declare function p(v: ConvexValue): string;
export declare function insertHandler(ctx: {
    db: DatabaseWriter;
}, args: {
    key: Key;
    value: Value;
    summand?: number;
}): Promise<void>;
export declare function deleteHandler(ctx: {
    db: DatabaseWriter;
}, args: {
    key: Key;
}): Promise<void>;
export declare const validate: import("convex/server").RegisteredQuery<"public", {}, Promise<void>>;
export declare function validateTree(ctx: {
    db: DatabaseReader;
}): Promise<void>;
export declare const count: import("convex/server").RegisteredQuery<"public", {}, Promise<number>>;
export declare function countHandler(ctx: {
    db: DatabaseReader;
}): Promise<number>;
export declare const sum: import("convex/server").RegisteredQuery<"public", {}, Promise<number>>;
export declare function sumHandler(ctx: {
    db: DatabaseReader;
}): Promise<number>;
export declare function aggregateBetweenHandler(ctx: {
    db: DatabaseReader;
}, args: {
    k1?: Key;
    k2?: Key;
}): Promise<{
    count: number;
    sum: number;
}>;
export declare const aggregateBetween: import("convex/server").RegisteredQuery<"public", {
    k1?: ConvexValue | undefined;
    k2?: ConvexValue | undefined;
}, Promise<{
    count: number;
    sum: number;
}>>;
export declare function getHandler(ctx: {
    db: DatabaseReader;
}, args: {
    key: Key;
}): Promise<Item | null>;
export declare const get: import("convex/server").RegisteredQuery<"public", {
    key: Key;
}, Promise<Item | null>>;
export declare const atOffset: import("convex/server").RegisteredQuery<"public", {
    offset: number;
}, Promise<Item>>;
export declare function atOffsetHandler(ctx: {
    db: DatabaseReader;
}, args: {
    offset: number;
}): Promise<Item>;
export declare function offsetHandler(ctx: {
    db: DatabaseReader;
}, args: {
    key: Key;
}): Promise<number>;
export declare const offset: import("convex/server").RegisteredQuery<"public", {
    key: Key;
}, Promise<number>>;
export declare function getTree(db: DatabaseReader): Promise<{
    _id: import("convex/values").GenericId<"btree">;
    _creationTime: number;
    root: import("convex/values").GenericId<"btreeNode">;
    maxNodeSize: number;
} | null>;
export declare function mustGetTree(db: DatabaseReader): Promise<{
    _id: import("convex/values").GenericId<"btree">;
    _creationTime: number;
    root: import("convex/values").GenericId<"btreeNode">;
    maxNodeSize: number;
}>;
export declare function getOrCreateTree(db: DatabaseWriter, maxNodeSize: number, rootLazy: boolean): Promise<Doc<"btree">>;
export declare const deleteTreeNodes: import("convex/server").RegisteredMutation<"internal", {
    node: import("convex/values").GenericId<"btreeNode">;
}, Promise<void>>;
//# sourceMappingURL=btree.d.ts.map