export declare const RESEARCH_BLOCK_SEQ = -1; export declare const RESEARCH_MAX_SOURCES = 3; export declare const RESEARCH_MAX_EXCERPTS = 8; export declare const RESEARCH_MAX_API_ENDPOINTS = 8; export declare const RESEARCH_MAX_SEED_ROWS = 24; export declare const RESEARCH_MAX_BRIEF_CHARS = 4000; export declare const RESEARCH_MAX_SOURCE_URL_CHARS = 2048; export declare const RESEARCH_MAX_CONTENT_TYPE_CHARS = 256; export declare const RESEARCH_MAX_EXCERPT_CHARS = 400; export declare const RESEARCH_MAX_LOCATOR_CHARS = 200; export declare const RESEARCH_MAX_METHOD_CHARS = 32; export declare const RESEARCH_MAX_PATH_CHARS = 512; export declare const RESEARCH_MAX_DESCRIPTION_CHARS = 400; export declare const RESEARCH_MAX_FIELD_CHARS = 128; export declare const RESEARCH_MAX_FIELDS = 16; export declare const RESEARCH_MAX_SEED_NAME_CHARS = 128; export declare const RESEARCH_MAX_ITEM_BYTES: number; export declare const RESEARCH_MAX_SEED_BYTES: number; export declare const RESEARCH_MAX_EVENT_BYTES: number; export declare const RESEARCH_JOB_MAX_TEXT_CHARS = 12000; export declare const RESEARCH_JOB_MAX_ID_CHARS = 256; export declare const RESEARCH_JOB_MAX_MODEL_CHARS = 256; export declare const RESEARCH_JOB_MAX_HANDLE_CHARS = 256; export declare function isValidIsoTimestamp(value: unknown): value is string; declare const ResearchSource: import("arktype/internal/variants/object.ts").ObjectType<{ url: string; finalUrl: string | null; contentType: string | null; httpStatus: number | null; backendFetchable: boolean; fetched: boolean; errorCode?: string | undefined; }, {}>; declare const ResearchApiEndpoint: import("arktype/internal/variants/object.ts").ObjectType<{ method: string; path: string; description: string; fields: string[]; }, {}>; declare const ResearchExcerpt: import("arktype/internal/variants/object.ts").ObjectType<{ sourceUrl: string; text: string; locator?: string | undefined; }, {}>; declare const ResearchSeedRow: import("arktype/internal/variants/object.ts").ObjectType<{ sourceUrl: string; dbName: string; key: string; item: unknown; }, {}>; export declare const PromptResearch: import("arktype/internal/variants/object.ts").ObjectType<{ type: "prompt.research"; version: 1; streamId: string; chatId: string; seq: number; timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To); researchId: string; status: "complete" | "failed" | "partial"; brief: string; sources: { url: string; finalUrl: string | null; contentType: string | null; httpStatus: number | null; backendFetchable: boolean; fetched: boolean; errorCode?: string | undefined; }[]; api: { method: string; path: string; description: string; fields: string[]; }[]; excerpts: { sourceUrl: string; text: string; locator?: string | undefined; }[]; seedRows: { sourceUrl: string; dbName: string; key: string; item: unknown; }[]; completedAt: string; errorCode?: string | undefined; }, {}>; export type PromptResearch = typeof PromptResearch.infer; export type PromptResearchSource = typeof ResearchSource.infer; export type PromptResearchApiEndpoint = typeof ResearchApiEndpoint.infer; export type PromptResearchExcerpt = typeof ResearchExcerpt.infer; export type PromptResearchSeedRow = typeof ResearchSeedRow.infer; export declare function isPromptResearch(value: unknown): value is PromptResearch; export declare const evtUrlResearch: import("arktype/internal/variants/object.ts").ObjectType<{ type: "vibes.diy.evt-url-research"; userId: string; chatId: string; promptId: string; ownerHandle: string; appSlug: string; currentUserText: string; activatedUrls: string[]; model: string; }, {}>; export type EvtUrlResearch = typeof evtUrlResearch.infer; export type UrlResearchJob = Omit; export declare function isEvtUrlResearch(value: unknown): value is EvtUrlResearch; export interface BuildUrlResearchJobInput { readonly mode: string; readonly isInitialTurn: boolean; readonly userId: string; readonly chatId: string; readonly promptId: string; readonly ownerHandle: string; readonly appSlug: string; readonly currentUserText: string; readonly activatedUrls: readonly string[]; readonly model: string; } export declare function buildUrlResearchJob(input: BuildUrlResearchJobInput): UrlResearchJob | undefined; export {};