import { PromptConfig as PromptMetadata, z } from 'genkit'; import { DatapromptRoute } from '../routing/server.js'; import { ScheduledTask } from 'node-cron'; export declare const RequestContextSchema: z.ZodObject<{ method: z.ZodOptional; url: z.ZodString; headers: z.ZodOptional>; params: z.ZodOptional]>>>; query: z.ZodOptional]>>>; body: z.ZodOptional; form: z.ZodOptional>; text: z.ZodOptional; }, "strip", z.ZodTypeAny, { json?: any; form?: Record | undefined; text?: string | undefined; }, { json?: any; form?: Record | undefined; text?: string | undefined; }>>; requestId: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; method?: string | undefined; params?: Record | undefined; headers?: Record | undefined; query?: Record | undefined; body?: { json?: any; form?: Record | undefined; text?: string | undefined; } | undefined; requestId?: string | undefined; }, { url: string; method?: string | undefined; params?: Record | undefined; headers?: Record | undefined; query?: Record | undefined; body?: { json?: any; form?: Record | undefined; text?: string | undefined; } | undefined; requestId?: string | undefined; }>; export type RequestContext = z.infer; export interface DatapromptPlugin { name: string; createDataSource?(): DataSourceProvider; createDataAction?(): DataActionProvider; createTrigger?(): TriggerProvider; provideSecrets?(): { secrets: Partial>; schema?: Schema; } | undefined; } export type FetchDataParams = { request: RequestContext; config: any; file: DatapromptFile; }; export interface DataSourceProvider { name: string; fetchData(params: FetchDataParams): Promise | string>; } export type ExecuteParams = { request: RequestContext; config: any; promptSources: Record; file: DatapromptFile; }; export interface DataActionProvider { name: string; execute(params: ExecuteParams): Promise; } export interface TriggerConfig { type: string; config: any; } export interface Trigger { create(route: DatapromptRoute, config: any): ScheduledTask; } export interface TriggerProvider { name: string; createTrigger(): Trigger; } export interface PromptFile { template: string; options: Partial; data: { prompt: { sources?: Record>; result?: Record>; trigger?: Record; }; }; } export interface DatapromptFile { path: string; content: string; nextRoute: string; absolutePath?: string; } //# sourceMappingURL=interfaces.d.ts.map