import type { Policy, PolicyDecision, PolicyMode } from './types.js';
export declare const HARD_GATED_KEYS: Set<string>;
export interface UpsertPolicyInput {
    policy_key: string;
    description?: string;
    mode?: PolicyMode;
    threshold_amount?: number;
    threshold_currency?: string;
    conditions?: Record<string, unknown>;
    enabled?: boolean;
}
export declare function upsertPolicy(tenantId: string, input: UpsertPolicyInput): Promise<Policy>;
export declare function getPolicy(tenantId: string, policyKey: string): Promise<Policy | null>;
export declare function listPolicies(tenantId: string): Promise<Policy[]>;
export interface EvaluateInput {
    tenantId: string;
    policyKey: string;
    amount?: number;
    currency?: string;
    context?: Record<string, unknown>;
}
/**
 * Decide whether Muassis can act, must ask, or must refuse.
 * Hard-gated keys always force at least 'ask' regardless of stored policy.
 */
export declare function evaluate(input: EvaluateInput): Promise<PolicyDecision>;
//# sourceMappingURL=policies.d.ts.map