/**
 * Tier Gate
 *
 * Utilities for checking tier access and feature gating
 */
import type { Tier } from '../types/auth.js';
import { type LimitCheckResult, type UsageAction } from './usage-service.js';
export interface TierGateResult {
    allowed: boolean;
    reason?: string;
    requiredTier?: Tier;
    currentTier: Tier;
    upgradeUrl: string;
}
export declare function checkTierAccess(requiredTier: Tier): Promise<TierGateResult>;
export declare function checkUsageLimit(action: UsageAction): Promise<LimitCheckResult & {
    upgradeUrl: string;
}>;
export declare function getUpgradeMessage(currentTier: Tier, feature: string): string;
export declare function getNextTier(currentTier: Tier): Tier | null;
export declare function getUpgradeOptions(currentTier: Tier): Tier[];
//# sourceMappingURL=tier-gate.d.ts.map