import { z } from 'zod';
export declare const TemplateVariablesSchema: z.ZodObject<{
    TOOL_NAME: z.ZodOptional<z.ZodString>;
    MODEL: z.ZodString;
    PROVIDER: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    TOOL_NAME: z.ZodOptional<z.ZodString>;
    MODEL: z.ZodString;
    PROVIDER: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    TOOL_NAME: z.ZodOptional<z.ZodString>;
    MODEL: z.ZodString;
    PROVIDER: z.ZodString;
}, z.ZodTypeAny, "passthrough">>;
export type TemplateVariables = z.infer<typeof TemplateVariablesSchema>;
export interface TemplateProcessingOptions {
    debug?: boolean;
}
export interface PromptEnvironment {
    isGitRepository: boolean;
    isSandboxed: boolean;
    hasIdeCompanion: boolean;
    sessionStartedAt?: string;
    sandboxType?: 'macos-seatbelt' | 'generic';
    workspaceName?: string;
    workspaceRoot?: string;
    workspaceDirectories?: string[];
    workingDirectory?: string;
    folderStructure?: string;
}
export interface PromptContext {
    provider: string;
    model: string;
    enabledTools: string[];
    environment: PromptEnvironment;
    enableToolPrompts?: boolean;
}
