import { type SubscriptionTier } from '../../common/access/subscription';
import type { PostVariant } from './community.repository';
export declare function openableVariants(tier: SubscriptionTier): PostVariant[];
export declare function isChannelLocked(tier: SubscriptionTier, channelMinTier: SubscriptionTier | null): boolean;
export declare function isPostLocked(tier: SubscriptionTier, channelMinTier: SubscriptionTier | null, variant: PostVariant): boolean;
export declare function isPostListed(tier: SubscriptionTier, channelMinTier: SubscriptionTier | null, variant: PostVariant): boolean;
export interface LockedPost {
    id: string;
    channelId: string;
    status: 'DRAFT' | 'PUBLISHED';
    variant: PostVariant;
    title: string;
    excerpt: string | null;
    legacyDate: string | null;
    publishedAt: Date | null;
    locked: true;
}
export declare function toLockedPost(post: {
    id: string;
    channelId: string;
    status: 'DRAFT' | 'PUBLISHED';
    variant: PostVariant;
    title: string;
    excerpt: string | null;
    legacyDate: string | null;
    publishedAt: Date | null;
}): LockedPost;
