/**
 * Conversation Events
 * Event-driven conversations triggered by player or game events
 */
import { Player } from '../../models/Player.js';
import { Person } from '../../models/Person.js';
import { ConversationObj, ConversationType } from './ConversationObj.js';
export interface ConversationCheckResult {
    button: string;
    fname: string;
    affinityChange?: number;
}
export type ConversationEventResult = ConversationObj | ConversationCheckResult | false;
type GetOpenAIResponseFn = (conversation: ConversationObj, character: Person, player: Player) => Promise<void>;
export declare function setOpenAIResponseHandler(handler: GetOpenAIResponseFn): void;
/**
 * Activity conversation - "What's up?"
 */
export declare function activity(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Check In conversation - "Check In"
 */
export declare function checkIn(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Ask About Day conversation
 */
export declare function askAboutDay(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Flatter conversation
 */
export declare function flatter(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Study Session conversation
 */
export declare function studySession(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Chat conversation - generic chat
 */
export declare function chat(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Deep Conversation - philosophical/meaningful chat
 */
export declare function deepConversation(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Gossip Session
 */
export declare function gossipSession(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Venting Session - stress relief
 */
export declare function ventingSession(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Ask Advice
 */
export declare function askAdvice(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Reminisce - remember old times
 */
export declare function reminisce(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Apologize
 */
export declare function apologizeConvo(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Share Dream
 */
export declare function shareDream(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Ask Favor
 */
export declare function askFavor(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Debate Opinion
 */
export declare function debateOpinion(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Share Excitement
 */
export declare function shareExcitement(player: Player, character: Person, response?: string | number | false, check?: boolean): Promise<ConversationEventResult>;
/**
 * Parse available conversations for a character
 */
export declare function parseConversations(player: Player, character: Person): Promise<ConversationCheckResult[]>;
/**
 * Initialize a conversation by type
 */
export declare function conversationInit(player: Player, character: Person, cType?: ConversationType, response?: string | number | false): Promise<ConversationEventResult> | undefined;
export {};
//# sourceMappingURL=events.d.ts.map