import type { Character } from '../Character/types'; import type { Enemy } from '../Enemy/types'; import type { Stance } from './types'; import { combatDieCanPower, availableDiceFor } from './combat.dice'; import { cardStanceColor, effectImpact } from './combat.cards'; import type { CombatCard, CombatDieColor, CombatEncounterState, CombatEvent, CardPlay, CombatManaDie, CombatTransition, CombatReadResult } from './combat.encounter.types'; export declare const TOP_ACTION_CHIP = 2; export declare const READ_DAMAGE_MULT: Record; export declare const CONVICTION_PER_UNPICKED_DIE = 1; export declare const CONVICTION_READ_WIN_BONUS = 1; export declare const COLOR_MATCH_DAMAGE_BONUS = 3; export declare const THREAT_DAMAGE_SCALE = 1.7; export declare const THREAT_WEAKEN_PER_ROLL = 0.06; export declare const THREAT_DENY_AT = 8; export declare const THREAT_WEAKEN_FLOOR = 0.4; export declare const CONVICTION_CAP = 12; export declare const DIRECT_DAMAGE_WEIGHT = 0.25; export declare const THREAT_ESCALATION_PER_ROUND = 0.22; export declare const THREAT_ESCALATION_GRACE = 1; export declare const THREAT_ESCALATION_MAX = 2; export declare const THREAT_ESCALATION_BOSS_MULT = 1.6; export declare const READ_STATUS_MULT: Record; export declare function getCard(cardId: string): CombatCard | null; export declare function stanceBeats(a: Stance, b: Stance): boolean; export interface CardDieCost { cost: number; advantage: 'advantage' | 'neutral' | 'disadvantage'; } export declare function resolveCardDieCost(cardColor: CombatDieColor, enemyPhaseStance: Stance): CardDieCost; export declare function resolveRead(dieColor: CombatDieColor, enemyPhaseStance: Stance): CombatReadResult; export declare function initializeCombatEncounter(player: Character, enemy: Enemy, playerDeck?: string[], seed?: number): CombatEncounterState; export declare function rollEncounterDice(state: CombatEncounterState, rng?: () => number): CombatTransition; export declare function startTurn(state: CombatEncounterState, rng?: () => number): CombatTransition; export declare function draftStanceDie(state: CombatEncounterState, dieId: string): CombatTransition; export declare function endTurn(state: CombatEncounterState): CombatTransition; export declare function playCombatCard(state: CombatEncounterState, cardRef: { uid?: string; cardId?: string; }, useBottom: boolean, dieId?: string, rng?: () => number): CombatTransition; export declare function discardCombatCard(state: CombatEncounterState, uid: string): CombatTransition; export declare function resolveThreatPhase(state: CombatEncounterState, rng?: () => number): CombatTransition; export declare function processBetweenPhases(state: CombatEncounterState, rng?: () => number, priorEvents?: CombatEvent[]): CombatTransition; export declare function chooseDraft(dice: readonly CombatManaDie[], cardStance: CombatDieColor, enemyStance: Stance | null): string | null; export declare function resolveCombatPhase(state: CombatEncounterState, cardsPlayed: CardPlay[], rng?: () => number): CombatTransition; export declare function selectMercyChoice(state: CombatEncounterState, choice: 'spare' | 'exploit'): CombatTransition; export declare function playSignatureSkill(state: CombatEncounterState, skillId: string, rng?: () => number): CombatTransition; export { SIGNATURE_SKILLS, SIGNATURE_SKILL_LIST, getSignatureSkill } from './combat.signature'; export { buildCombatSummary } from './combat.attribution'; export declare function handCards(state: CombatEncounterState): Array<{ uid: string; card: CombatCard; }>; export declare function cardDieCostPreview(state: CombatEncounterState, card: CombatCard): CardDieCost; export declare function availableDice(state: CombatEncounterState): number; export declare function getDraftedDie(state: CombatEncounterState): CombatManaDie | null; export declare function isPhaseStanceRevealed(state: CombatEncounterState, phaseIndex: number): boolean; export declare function revealedCurrentStance(state: CombatEncounterState): Stance | null; export declare function cardReadPreview(state: CombatEncounterState, card: CombatCard): { read: CombatReadResult; colorMatch: boolean; } | null; export declare function projectCardImpact(state: CombatEncounterState, card: CombatCard): { track: 'dot' | 'control' | 'none'; amount: number; }; export declare function getEnemyIncomingDamageMultiplier(state: CombatEncounterState): number; export declare function getDisruptMeter(state: CombatEncounterState): { pips: number; threshold: number; rollPenalty: number; willDeny: boolean; }; export declare function projectRupture(state: CombatEncounterState): number; export declare function isExecuteReady(state: CombatEncounterState, hpPct: number, dotStacks: number): boolean; export declare function projectExecute(state: CombatEncounterState, card: CombatCard): { ready: boolean; amount: number; }; export declare function projectSiphonHeal(state: CombatEncounterState, card: CombatCard): number; export { combatDieCanPower, availableDiceFor, effectImpact, cardStanceColor }; //# sourceMappingURL=combat.engine.d.ts.map