import type { ExtendedRoute, Route } from '@netlify/zip-it-and-ship-it'; import type { MemoizeCache } from '@netlify/dev-utils'; import type NetlifyFunction from '../netlify-function.js'; import type { NormalizedCachedConfigConfig } from '../../../utils/command-helpers.js'; import * as go from './go/index.js'; import type { GoInvokeFunctionResult } from './go/index.js'; import * as js from './js/index.js'; import type { JsInvokeFunctionResult } from './js/index.js'; import * as rust from './rust/index.js'; import type { RustInvokeFunctionResult } from './rust/index.js'; export type BaseBuildResult = { includedFiles?: undefined | string[]; mainFile?: undefined | string; outputModuleFormat?: undefined | string; schedule?: undefined | string; srcFiles: string[]; excludedRoutes?: Route[] | undefined; routes?: ExtendedRoute[] | undefined; runtimeAPIVersion?: number | undefined; }; export type GetBuildFunctionOpts = { config: NormalizedCachedConfigConfig; context?: Record; directory?: string; errorExit: (msg: string) => void; func: NetlifyFunction; functionsDirectory?: string; projectRoot: string; }; export type BuildFunction = Record> = ({ cache }: { cache?: MemoizeCache; }) => Promise; export type GetBuildFunction = Record> = (params: GetBuildFunctionOpts) => Promise>; export type InvokeFunctionResult = JsInvokeFunctionResult | GoInvokeFunctionResult | RustInvokeFunctionResult; export type InvokeFunction = (params: { context: Record; environment: Record; event: Record; func: NetlifyFunction; timeout: number; }) => Promise; export type OnRegisterFunction = (func: NetlifyFunction) => NetlifyFunction | null; export interface Runtime { getBuildFunction: GetBuildFunction; invokeFunction: InvokeFunction; onRegister?: OnRegisterFunction; name: string; } declare const runtimes: { go: typeof go; js: typeof js; rs: typeof rust; }; export default runtimes; //# sourceMappingURL=index.d.ts.map