import type { def } from '@baseplate-dev/project-builder-lib';
import { z } from 'zod';
export declare const billingPlanEntityType: import("@baseplate-dev/project-builder-lib").DefinitionEntityType<false>;
export declare const createBillingPlanSchema: (context: import("@baseplate-dev/project-builder-lib").DefinitionSchemaParserContext) => z.ZodType<{
    id: string;
    key: string;
    displayName: string;
    grantedRoles: string[];
}, {
    id: string;
    key: string;
    displayName: string;
    grantedRoles?: string[] | undefined;
}, z.core.$ZodTypeInternals<{
    id: string;
    key: string;
    displayName: string;
    grantedRoles: string[];
}, {
    id: string;
    key: string;
    displayName: string;
    grantedRoles?: string[] | undefined;
}>>;
export type BillingPlanDefinition = def.InferOutput<typeof createBillingPlanSchema>;
export type BillingPlanInput = def.InferInput<typeof createBillingPlanSchema>;
export declare const createStripePluginDefinitionSchema: (context: import("@baseplate-dev/project-builder-lib").DefinitionSchemaParserContext) => z.ZodObject<{
    stripeOptions: z.ZodPrefault<z.ZodObject<{}, z.core.$strip>>;
    billing: z.ZodObject<{
        enabled: z.ZodDefault<z.ZodBoolean>;
        featureRef: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
        plans: z.ZodDefault<z.ZodArray<z.ZodType<{
            id: string;
            key: string;
            displayName: string;
            grantedRoles: string[];
        }, {
            id: string;
            key: string;
            displayName: string;
            grantedRoles?: string[] | undefined;
        }, z.core.$ZodTypeInternals<{
            id: string;
            key: string;
            displayName: string;
            grantedRoles: string[];
        }, {
            id: string;
            key: string;
            displayName: string;
            grantedRoles?: string[] | undefined;
        }>>>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type StripePluginDefinition = def.InferOutput<typeof createStripePluginDefinitionSchema>;
export type StripePluginDefinitionInput = def.InferInput<typeof createStripePluginDefinitionSchema>;
//# sourceMappingURL=plugin-definition.d.ts.map