import type { ConversationProfile } from '../../types/character.js';
import type { ConversationHistory } from '../../types/conversation.js';
export declare class SalesRedirector {
    /**
     * Checks if it's appropriate to make a sales pitch based on:
     * - Minimum message count before first pitch
     * - Cooldown time since last pitch
     * - User interest level
     */
    shouldPitch(history: ConversationHistory, profile: ConversationProfile): boolean;
    /**
     * Generates a hint/instruction for the AI to naturally include
     * a sales pitch in its response, matching the character's pitch style.
     */
    generatePitchHint(profile: ConversationProfile): string;
    /**
     * Marks the last assistant message in the conversation as having a pitch.
     * Returns a new ConversationHistory (immutable).
     */
    recordPitch(history: ConversationHistory): ConversationHistory;
    /**
     * Marks the last pitch message as accepted.
     * Returns a new ConversationHistory (immutable).
     */
    recordAcceptance(history: ConversationHistory): ConversationHistory;
    /**
     * Returns conversion stats from the conversation history.
     */
    getConversionStats(history: ConversationHistory): {
        pitches: number;
        acceptances: number;
        rate: number;
    };
    /** Find the last message that had a pitch */
    private findLastPitch;
}
/** Singleton instance */
export declare const salesRedirector: SalesRedirector;
//# sourceMappingURL=sales-redirect.d.ts.map