import type { def } from '@baseplate-dev/project-builder-lib';
import z from 'zod';
export declare const storageAdapterEntityType: import("@baseplate-dev/project-builder-lib").DefinitionEntityType<false>;
export declare const fileCategoryEntityType: import("@baseplate-dev/project-builder-lib").DefinitionEntityType<false>;
export declare const createFileCategorySchema: (context: import("@baseplate-dev/project-builder-lib").DefinitionSchemaParserContext) => z.ZodType<{
    id: string;
    name: string;
    maxFileSizeMb: number;
    authorize: {
        uploadRoles: string[];
    };
    adapterRef: string;
    disableAutoCleanup?: boolean | undefined;
}, {
    id: string;
    name: string;
    maxFileSizeMb: number;
    authorize: {
        uploadRoles: string[];
    };
    adapterRef: string;
    disableAutoCleanup?: boolean | undefined;
}, z.z.core.$ZodTypeInternals<{
    id: string;
    name: string;
    maxFileSizeMb: number;
    authorize: {
        uploadRoles: string[];
    };
    adapterRef: string;
    disableAutoCleanup?: boolean | undefined;
}, {
    id: string;
    name: string;
    maxFileSizeMb: number;
    authorize: {
        uploadRoles: string[];
    };
    adapterRef: string;
    disableAutoCleanup?: boolean | undefined;
}>>;
export type FileCategoryInput = def.InferInput<typeof createFileCategorySchema>;
export declare const createStoragePluginDefinitionSchema: (context: import("@baseplate-dev/project-builder-lib").DefinitionSchemaParserContext) => z.ZodObject<{
    storageFeatureRef: z.ZodType<string, string, z.z.core.$ZodTypeInternals<string, string>>;
    s3Adapters: z.ZodArray<z.ZodType<{
        id: string;
        name: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }, {
        id: string;
        name: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }, z.z.core.$ZodTypeInternals<{
        id: string;
        name: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }, {
        id: string;
        name: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }>>>;
    fileCategories: z.ZodDefault<z.ZodArray<z.ZodType<{
        id: string;
        name: string;
        maxFileSizeMb: number;
        authorize: {
            uploadRoles: string[];
        };
        adapterRef: string;
        disableAutoCleanup?: boolean | undefined;
    }, {
        id: string;
        name: string;
        maxFileSizeMb: number;
        authorize: {
            uploadRoles: string[];
        };
        adapterRef: string;
        disableAutoCleanup?: boolean | undefined;
    }, z.z.core.$ZodTypeInternals<{
        id: string;
        name: string;
        maxFileSizeMb: number;
        authorize: {
            uploadRoles: string[];
        };
        adapterRef: string;
        disableAutoCleanup?: boolean | undefined;
    }, {
        id: string;
        name: string;
        maxFileSizeMb: number;
        authorize: {
            uploadRoles: string[];
        };
        adapterRef: string;
        disableAutoCleanup?: boolean | undefined;
    }>>>>;
}, z.z.core.$strip>;
export type StoragePluginDefinition = def.InferOutput<typeof createStoragePluginDefinitionSchema>;
export type StoragePluginDefinitionInput = def.InferInput<typeof createStoragePluginDefinitionSchema>;
//# sourceMappingURL=plugin-definition.d.ts.map