/**
 * Shared prompt injection strategy.
 *
 * Detects which prompt injection mode the user is using and ensures CCS
 * always uses the SAME mode so Claude CLI never receives mixed
 * `--append-system-prompt` and `--append-system-prompt-file` flags.
 *
 * Rules:
 *  - User passes `--append-system-prompt` → all CCS prompts use inline
 *  - User passes `--append-system-prompt-file` → all CCS prompts use file
 *  - Neither present → default to inline (`--append-system-prompt`)
 */
export type PromptInjectionMode = 'inline' | 'file';
/** `--append-system-prompt` — inline prompt text */
export declare const PROMPT_FLAG_INLINE = "--append-system-prompt";
/** `--append-system-prompt-file` — prompt read from file */
export declare const PROMPT_FLAG_FILE = "--append-system-prompt-file";
export declare function getManagedPromptFileName(promptName: string): string;
export declare function getManagedPromptFilePath(promptName: string): string;
export declare function hasManagedPromptFileArg(params: {
    args: string[];
    promptName: string;
}): boolean;
/**
 * Detect which prompt injection mode to use based on user-provided args.
 *
 * - `--append-system-prompt-file` found (space or `=` form) → 'file'
 * - `--append-system-prompt` found (space or `=` form) → 'inline'
 * - Neither → 'inline' (default)
 */
export declare function detectPromptInjectionMode(args: string[]): PromptInjectionMode;
/**
 * Build a `--append-system-prompt <text>` arg pair.
 */
export declare function buildInlineSteeringArg(params: {
    promptContent: string;
}): string[];
/**
 * Build a `--append-system-prompt-file <path>` arg pair.
 * Writes the prompt to a temp file first.
 */
export declare function buildFileSteeringArg(params: {
    promptFileName: string;
    promptContent: string;
}): string[];
/**
 * Build steering prompt args in the given mode.
 */
export declare function buildSteeringArg(params: {
    args: string[];
    promptName: string;
    promptContent: string;
}): string[];
//# sourceMappingURL=prompt-injection-strategy.d.ts.map