import { SmrtClassOptions } from '@happyvertical/smrt-core'; import { SmrtCollection } from '@happyvertical/smrt-core'; import { SmrtObject } from '@happyvertical/smrt-core'; import { SmrtObjectOptions } from '@happyvertical/smrt-core'; export declare function clearPromptCache(): void; export declare function definePrompt(input: PromptDefinitionInput): PromptDefinition; export declare function getPromptCacheTtlMs(): number; export declare interface NormalizedPromptAI { profile?: string; model?: string; params: PromptParams; } /* Excluded from this release type: PACKAGE_VERSION_INITIALIZED */ export declare interface PromptAIInput { profile?: string | null; model?: string | null; params?: PromptParams | null; temperature?: number; maxTokens?: number; [key: string]: unknown; } export declare interface PromptConfigOverrideInput { template?: string | null; profile?: string | null; model?: string | null; params?: PromptParams | null; ai?: PromptAIInput | null; temperature?: number; maxTokens?: number; [key: string]: unknown; } export declare interface PromptDefinition { key: string; template: string; ai: NormalizedPromptAI; editable: PromptEditableConfig; } export declare interface PromptDefinitionInput { key: string; template: string; ai?: PromptAIInput; editable?: Partial; } export declare interface PromptEditableConfig { template: boolean; profile: boolean; model: boolean; params: boolean; } export declare interface PromptLayer { template?: string | null; profile?: string | null; model?: string | null; params?: PromptParams | null; } export declare class PromptOverride extends SmrtObject { key: string; tenantId: string | null; template: string | null; profile: string | null; model: string | null; params: string | null; constructor(options?: PromptOverrideOptions); getParams(): PromptParams; setParams(params: PromptParams | null): void; toPromptLayer(): PromptLayer; save(): Promise; private saveAfterIdentityChange; private saveAfterIdentityChangeInTransaction; private saveAfterIdentityChangeWithDeferredDelete; delete(): Promise; private validatePromptOverride; private getLowerPrecedenceLayers; private normalizeParamsForPersistence; private getPersistedIdentity; } export declare class PromptOverrideCollection extends SmrtCollection { static readonly _itemClass: typeof PromptOverride; private excludeOverrideId; getAppOverride(key: string, options?: { excludeId?: string; }): Promise; getTenantOverride(key: string, tenantId: string, options?: { excludeId?: string; }): Promise; getResolutionLayers(key: string, tenantId?: string | null, options?: { excludeId?: string; }): Promise<{ app: PromptOverride | null; tenant: PromptOverride | null; }>; } export declare interface PromptOverrideOptions extends SmrtObjectOptions { key?: string; tenantId?: string | null; template?: string | null; profile?: string | null; model?: string | null; params?: string | PromptParams | null; } export declare interface PromptPackageConfig { profiles?: Record; prompts?: Record; allowedProfileNames?: string[]; allowedModels?: string[]; [key: string]: unknown; } export declare type PromptParams = Record; export declare interface PromptProfileConfig { provider: string; model: string; params?: PromptParams | null; temperature?: number; maxTokens?: number; [key: string]: unknown; } export declare const PromptRegistry: { register(input: PromptDefinitionInput): PromptDefinition; get(key: string): PromptDefinition | undefined; has(key: string): boolean; getAll(): PromptDefinition[]; clear(): void; }; export declare interface ResolvedPrompt { key: string; template: string; text: string; ai: ResolvedPromptAI; } export declare interface ResolvedPromptAI extends PromptParams { profile?: string; provider?: string; model?: string; allowedModels?: string[]; params: PromptParams; temperature?: number; maxTokens?: number; } export declare function resolvePrompt(key: string, options?: ResolvePromptOptions): Promise; export declare interface ResolvePromptOptions { db?: SmrtClassOptions['db']; tenantId?: string | null; variables?: Record; override?: PromptConfigOverrideInput; } export { }