import type { Tool } from './truPulseTools';
/** Merge `applications.security_config` into draft `config.applicationDefinition` only where the client sent empty strings. */
export declare function prefillApplicationDefinitionFromApplicationSecurityConfig(args: {
    incomingApplicationDefinition: unknown;
    applicationSecurityConfig: unknown;
}): Record<string, string>;
/** Mirrors UI `applicationDefinitionToPurpose` (useRedTeamConfig) for the saved `config.purpose` field. */
export declare function applicationDefinitionToPurpose(applicationDefinition: Record<string, string>): string;
export type DraftSecurityConfigToolResult = {
    /** Same shape as the `config` column JSON used by red team security setup UI. */
    config: Record<string, unknown>;
    validationWarnings: string[];
    followUpSuggestions: string[];
    targetSource: string;
    /** Top-level risk category names (for follow-up questions); plugins are drawn from these groups in the UI. */
    vulnerabilityCategoryNames: string[];
    /**
     * True when the merged draft satisfies the same checklist rules as the Security Config → Argus UI card
     * (applicationDefinition sections, at least one plugin, at least one strategy).
     */
    checklistComplete: boolean;
    /** Keys still false on that checklist (e.g. purposeAndAccess, attackStrategies); empty when checklistComplete. */
    checklistMissingKeys: string[];
};
/** Pre-turn checklist for Argus context (matches UI + `draft_security_config` tool). */
export declare function getSecurityConfigArgusChecklistSnapshotFromCurrentConfig(currentConfig: unknown): {
    checklistComplete: boolean;
    checklistMissingKeys: string[];
};
export declare function buildDraftSecurityConfigPayload(input: {
    filters?: Record<string, unknown>;
    description?: string;
    applicationDefinition?: unknown;
    plugins?: string[];
    strategies?: string[];
    numTests?: number;
    language?: string;
    prompts?: string[];
    testGenerationInstructions?: string;
    entities?: string[];
    target?: unknown;
}): DraftSecurityConfigToolResult;
/**
 * Argus tools for the `securityconfig` domain: build JSON matching persisted security `config` (UI parity).
 */
export declare function getSecurityConfigArgusTools(): Tool[];
//# sourceMappingURL=securityConfigArgusTools.d.ts.map