import type { LogContext } from '@rocicorp/logger';
import type { FastifyReply, FastifyRequest } from 'fastify';
import type { AnalyzeQueryResult } from '../../../zero-protocol/src/analyze-query-result.ts';
import type { AST } from '../../../zero-protocol/src/ast.ts';
import type { NormalizedZeroConfig } from '../config/normalize.ts';
export declare function setCors(res: FastifyReply): FastifyReply<import("fastify").RouteGenericInterface, import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, unknown, import("fastify").FastifySchema, import("fastify").FastifyTypeProviderDefault, unknown>;
export declare function handleAnalyzeQueryRequest(lc: LogContext, config: NormalizedZeroConfig, req: FastifyRequest, res: FastifyReply): Promise<void>;
type AnalyzeQueryOptions = {
    syncedRows?: boolean | undefined;
    vendedRows?: boolean | undefined;
};
export declare function analyzeQuery(lc: LogContext, config: NormalizedZeroConfig, ast: AST, options?: AnalyzeQueryOptions): Promise<AnalyzeQueryResult>;
export {};
//# sourceMappingURL=analyze.d.ts.map