import type { CliOptions } from '../bin/ponder.js'; import type { Config } from '../config/index.js'; import type { Database } from '../database/index.js'; import type { Common } from '../internal/common.js'; import type { ApiBuild, IndexingBuild, IndexingFunctions, NamespaceBuild, PreBuild, Schema, SchemaBuild } from '../internal/types.js'; import type { Result } from '../utils/result.js'; import { Hono } from "hono"; declare global { var PONDER_COMMON: Common; var PONDER_PRE_BUILD: PreBuild; var PONDER_NAMESPACE_BUILD: NamespaceBuild; var PONDER_INDEXING_BUILD: Pick; var PONDER_DATABASE: Database; } type ConfigResult = Result<{ config: Config; contentHash: string; }>; type SchemaResult = Result<{ schema: Schema; contentHash: string; }>; type IndexingResult = Result<{ indexingFunctions: IndexingFunctions; contentHash: string; }>; type ApiResult = Result<{ app: Hono; }>; export type Build = { executeConfig: () => Promise; executeSchema: () => Promise; executeIndexingFunctions: () => Promise; executeApi: (params: { preBuild: PreBuild; configBuild: Pick; database: Database; }) => Promise; namespaceCompile: () => Result; preCompile: (params: { config: Config; }) => Result; compileSchema: (params: { schema: Schema; preBuild: PreBuild; }) => Result; compileConfig: (params: { configResult: Extract["result"]; }) => Result>; compileIndexing: (params: { configResult: Extract["result"]; schemaResult: Extract["result"]; indexingResult: Extract["result"]; configBuild: Pick; }) => Promise>; compileApi: (params: { apiResult: Extract["result"]; }) => Promise>; startDev: (params: { onReload: (kind: "indexing" | "api") => void; }) => void; rpcDiagnostic: (params: { configBuild: Pick; }) => Promise>; databaseDiagnostic: (params: { preBuild: PreBuild; }) => Promise>; }; export declare const createBuild: ({ common, cliOptions, }: { common: Common; cliOptions: CliOptions; }) => Promise; export {}; //# sourceMappingURL=index.d.ts.map