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 createStoragePluginDefinitionSchema: (context: import("@baseplate-dev/project-builder-lib").DefinitionSchemaParserContext) => z.ZodEffects<z.ZodObject<{
    modelRefs: z.ZodObject<{
        file: z.ZodEffects<z.ZodString, string, string>;
    }, "strip", z.ZodTypeAny, {
        file: string;
    }, {
        file: string;
    }>;
    storageFeatureRef: z.ZodEffects<z.ZodString, string, string>;
    s3Adapters: z.ZodArray<z.ZodEffects<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        bucketConfigVar: z.ZodString;
        hostedUrlConfigVar: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }, {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }>, {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }, {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    s3Adapters: {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }[];
    modelRefs: {
        file: string;
    };
    storageFeatureRef: string;
}, {
    s3Adapters: {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }[];
    modelRefs: {
        file: string;
    };
    storageFeatureRef: string;
}>, {
    s3Adapters: {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }[];
    modelRefs: {
        file: string;
    };
    storageFeatureRef: string;
}, {
    s3Adapters: {
        name: string;
        id: string;
        bucketConfigVar: string;
        hostedUrlConfigVar?: string | undefined;
    }[];
    modelRefs: {
        file: string;
    };
    storageFeatureRef: string;
}>;
export type StoragePluginDefinition = def.InferOutput<typeof createStoragePluginDefinitionSchema>;
export type StoragePluginDefinitionInput = def.InferInput<typeof createStoragePluginDefinitionSchema>;
//# sourceMappingURL=plugin-definition.d.ts.map