import { PaymentPlan } from "../../../meta/core/resources/payment-plan.resource";
import { BillingInterval } from "../../../meta/core/resources/enums/payment-enums";
/**
 * Configuration for seeding a {@link PaymentPlan}.
 */
export interface SeedPaymentPlanConfig {
    /** The name of the payment plan. */
    name: string;
    /** The pricing configurations for the payment plan. */
    pricingConfigs: SeedPaymentPlanPricingConfig[];
    /** Identifier in the external payment system associated with the plan. */
    paymentSystemId?: string;
    /** URL for contacting support regarding the plan. */
    contactUsUrl?: string;
    /** Identifier for the payment plan. */
    paymentPlanId?: string;
    /** Pricing description for the payment plan. */
    pricingDescription?: string;
    /** List of {@link Feature} Ids associated with the payment plan. */
    featureIds?: string[];
}
/**
 * Configuration for seeding a payment plan pricing option.
 */
export interface SeedPaymentPlanPricingConfig {
    /** The billing interval for the payment plan subscription. */
    billingInterval: BillingInterval;
    /** The price currency. */
    currency: string;
    /** The payment plan price. */
    price: number;
}
export declare function seedPaymentPlans(): Promise<void>;
export declare function seedDemoPaymentPlans(): Promise<void>;
export declare function internalSeedPaymentPlan(resourceMetaId: string, name: string, isActive: boolean, paymentSystemId?: string, isContactUs?: boolean, contactUsUrl?: string, pricingDescription?: string): Promise<PaymentPlan>;
/**
 * Creates a payment plan in database with the provided configuration.
 * @param config {@link SeedPaymentPlanConfig} - The configuration for the payment plan to create.
 */
export declare function seedPaymentPlan(config: SeedPaymentPlanConfig): Promise<void>;
