import { PrismaClient } from '@prisma/client';
import { Context } from '../../context';
import { SubscriptionFilter, SubscriptionSort } from '../../db/subscription';
import { SortOrder } from "../../../../utils-api/src";
export declare const getSubscriptionById: (id: string, authenticate: Context['authenticate'], subscription: PrismaClient['subscription']) => import(".prisma/client").Prisma.Prisma__SubscriptionClient<{
    deactivation: import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        date: Date;
        reason: import(".prisma/client").SubscriptionDeactivationReason;
        subscriptionID: string;
    }, unknown> & {};
    periods: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        startsAt: Date;
        endsAt: Date;
        paymentPeriodicity: import(".prisma/client").PaymentPeriodicity;
        amount: number;
        invoiceID: string;
        subscriptionId: string;
    }, unknown> & {})[];
    properties: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        key: string;
        value: string;
        public: boolean;
        articleRevisionId: string;
        pageRevisionId: string;
        subscriptionId: string;
        userId: string;
    }, unknown> & {})[];
} & import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    paymentPeriodicity: import(".prisma/client").PaymentPeriodicity;
    monthlyAmount: number;
    autoRenew: boolean;
    startsAt: Date;
    paidUntil: Date;
    paymentMethodID: string;
    memberPlanID: string;
    userID: string;
}, unknown> & {}, null, import("@prisma/client/runtime/library").DefaultArgs>;
export declare const getAdminSubscriptions: (filter: Partial<SubscriptionFilter>, sortedField: SubscriptionSort, order: SortOrder, cursorId: string | null, skip: number, take: number, authenticate: Context['authenticate'], subscription: PrismaClient['subscription']) => Promise<import("../../..").ConnectionResult<import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    paymentPeriodicity: import(".prisma/client").PaymentPeriodicity;
    monthlyAmount: number;
    autoRenew: boolean;
    startsAt: Date;
    paidUntil: Date;
    paymentMethodID: string;
    memberPlanID: string;
    userID: string;
}, unknown> & {}>>;
export declare const getSubscriptionsAsCSV: (filter: SubscriptionFilter, authenticate: Context['authenticate'], subscription: PrismaClient['subscription']) => Promise<string>;
export declare const getNewSubscribersPerMonth: (authenticate: Context['authenticate'], subscription: PrismaClient['subscription'], monthsBack: number) => Promise<any[]>;
