import http from 'http';
import https from 'https';
import { CrateDBClient } from './CrateDBClient.js';
import { CrateDBRecord } from './interfaces.js';
export declare class Cursor {
    client: CrateDBClient;
    sql: string;
    cursorName: string;
    isOpen: boolean;
    agent: http.Agent | https.Agent;
    private cursorOptions;
    constructor(client: CrateDBClient, sql: string);
    open(): Promise<void>;
    fetchOne(): Promise<CrateDBRecord | null>;
    fetchMany(size?: number): Promise<Array<CrateDBRecord>>;
    fetchAll(): Promise<Array<CrateDBRecord>>;
    iterate(size?: number): AsyncGenerator<CrateDBRecord, void, unknown>;
    close(): Promise<void>;
    _execute(sql: string): Promise<Array<CrateDBRecord>>;
    _rebuildObjects(cols: Array<string>, rows: Array<unknown>): Array<CrateDBRecord>;
    _ensureOpen(): void;
}
