import { Context } from '../../context';
import { PrismaClient, Prisma } from '@prisma/client';
export declare const deleteMemberPlanById: (id: string, authenticate: Context['authenticate'], memberPlan: PrismaClient['memberPlan']) => Promise<{
    availablePaymentMethods: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        paymentMethodIDs: string[];
        paymentPeriodicities: import(".prisma/client").PaymentPeriodicity[];
        forceAutoRenewal: boolean;
        memberPlanId: string;
    }, unknown> & {})[];
} & import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    name: string;
    slug: string;
    tags: string[];
    description: Prisma.JsonValue;
    active: boolean;
    amountPerMonthMin: number;
    imageID: string;
}, unknown> & {}>;
type CreateMemberPlanInput = Omit<Prisma.MemberPlanUncheckedCreateInput, 'availablePaymentMethods' | 'modifiedAt'> & {
    availablePaymentMethods: Prisma.AvailablePaymentMethodUncheckedCreateWithoutMemberPlanInput[];
};
export declare const createMemberPlan: ({ availablePaymentMethods, ...input }: CreateMemberPlanInput, authenticate: Context['authenticate'], memberPlan: PrismaClient['memberPlan']) => Prisma.Prisma__MemberPlanClient<{
    availablePaymentMethods: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        paymentMethodIDs: string[];
        paymentPeriodicities: import(".prisma/client").PaymentPeriodicity[];
        forceAutoRenewal: boolean;
        memberPlanId: string;
    }, unknown> & {})[];
} & import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    name: string;
    slug: string;
    tags: string[];
    description: Prisma.JsonValue;
    active: boolean;
    amountPerMonthMin: number;
    imageID: string;
}, unknown> & {}, never, import("@prisma/client/runtime/library").DefaultArgs>;
type UpdateMemberPlanInput = Omit<Prisma.MemberPlanUncheckedUpdateInput, 'availablePaymentMethods' | 'modifiedAt' | 'createdAt'> & {
    availablePaymentMethods: Prisma.AvailablePaymentMethodUncheckedCreateWithoutMemberPlanInput[];
};
export declare const updateMemberPlan: (id: string, { availablePaymentMethods, ...input }: UpdateMemberPlanInput, authenticate: Context['authenticate'], memberPlan: PrismaClient['memberPlan']) => Promise<{
    availablePaymentMethods: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        paymentMethodIDs: string[];
        paymentPeriodicities: import(".prisma/client").PaymentPeriodicity[];
        forceAutoRenewal: boolean;
        memberPlanId: string;
    }, unknown> & {})[];
} & import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    name: string;
    slug: string;
    tags: string[];
    description: Prisma.JsonValue;
    active: boolean;
    amountPerMonthMin: number;
    imageID: string;
}, unknown> & {}>;
export {};
