import { Q as QueryHandlerOptions, F as FormattedResults } from '../utils-BsS_PV7b.js';
import { ResultRecord, Query, StoredObject } from 'shiro-compiler';
import { S as StorableObject } from '../index-bUHeCS3J.js';
import 'node:async_hooks';

declare function runQueriesWithStorageAndTriggers<T extends ResultRecord>(queries: Array<Query>, options: QueryHandlerOptions): Promise<FormattedResults<T>>;
declare function runQueriesWithStorageAndTriggers<T extends ResultRecord>(queries: Record<string, Array<Query>>, options: QueryHandlerOptions): Promise<Record<string, FormattedResults<T>>>;

/**
 * Determines whether the provided value is storable as a binary object, or not.
 *
 * @param value - The value to check.
 *
 * @returns A boolean indicating whether the provided value is storable, or not.
 */
declare const isStorableObject: (value: unknown) => boolean;
/**
 * ## 🚧 For internal use only! 🚧
 *
 * Process `StorableObjectValue`s contained in queries.
 *
 * @param queries - Array of queries that contain `StorableObjectValue`s.
 * @param upload - A function that receives `StorableObject`s and uploads them.
 *
 * @returns Queries with `StorableObjectValue`s replaced by `StoredObject`s.
 */
declare const processStorableObjects: (queries: Array<Query>, upload: (objects: Array<StorableObject>) => Promise<Array<StoredObject>> | Array<StoredObject>) => Promise<Array<Query>>;

interface InvalidResponseErrorDetails {
    message: string;
    code: string;
}
declare class InvalidResponseError extends Error {
    message: InvalidResponseErrorDetails['message'];
    code: InvalidResponseErrorDetails['code'];
    constructor(details: InvalidResponseErrorDetails);
}

export { InvalidResponseError, isStorableObject, processStorableObjects, runQueriesWithStorageAndTriggers as runQueries };
