import Serverless from 'serverless';
import { z } from 'zod';
export declare const PluginOptionsSchema: import("zod").ZodObject<{
    keepOutputDirectory: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    zipConcurrency: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
    stats: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    doctor: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodBoolean, import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodObject<{
        enable: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
        outputDirectory: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        enable: boolean;
        outputDirectory?: string | null | undefined;
    }, {
        enable?: boolean | undefined;
        outputDirectory?: string | null | undefined;
    }>>>]>>>;
    config: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodObject<{
        path: import("zod").ZodString;
        strategy: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["override", "combine"]>>>;
    }, "strip", import("zod").ZodTypeAny, {
        path: string;
        strategy: "override" | "combine";
    }, {
        path: string;
        strategy?: "override" | "combine" | undefined;
    }>>>;
    scripts: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>>;
    esm: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    mode: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["production", "development", "none"]>>>;
    sourcemap: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<false>, import("zod").ZodEnum<["eval", "cheap-source-map", "cheap-module-source-map", "source-map", "inline-cheap-source-map", "inline-cheap-module-source-map", "inline-source-map", "inline-nosources-cheap-source-map", "inline-nosources-cheap-module-source-map", "inline-nosources-source-map", "nosources-cheap-source-map", "nosources-cheap-module-source-map", "nosources-source-map", "hidden-nosources-cheap-source-map", "hidden-nosources-cheap-module-source-map", "hidden-nosources-source-map", "hidden-cheap-source-map", "hidden-cheap-module-source-map", "hidden-source-map", "eval-cheap-source-map", "eval-cheap-module-source-map", "eval-source-map", "eval-nosources-cheap-source-map", "eval-nosources-cheap-module-source-map", "eval-nosources-source-map"]>]>>;
    tsConfig: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
    externals: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>>;
}, "strip", import("zod").ZodTypeAny, {
    keepOutputDirectory: boolean;
    zipConcurrency: number;
    stats: boolean;
    esm: boolean;
    mode: "production" | "development" | "none";
    doctor?: boolean | {
        enable: boolean;
        outputDirectory?: string | null | undefined;
    } | null | undefined;
    config?: {
        path: string;
        strategy: "override" | "combine";
    } | null | undefined;
    scripts?: string[] | null | undefined;
    sourcemap?: false | "eval" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | undefined;
    tsConfig?: string | null | undefined;
    externals?: string[] | null | undefined;
}, {
    keepOutputDirectory?: boolean | undefined;
    zipConcurrency?: number | undefined;
    stats?: boolean | undefined;
    doctor?: boolean | {
        enable?: boolean | undefined;
        outputDirectory?: string | null | undefined;
    } | null | undefined;
    config?: {
        path: string;
        strategy?: "override" | "combine" | undefined;
    } | null | undefined;
    scripts?: string[] | null | undefined;
    esm?: boolean | undefined;
    mode?: "production" | "development" | "none" | undefined;
    sourcemap?: false | "eval" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | undefined;
    tsConfig?: string | null | undefined;
    externals?: string[] | null | undefined;
}>;
export type PluginOptions = z.infer<typeof PluginOptionsSchema>;
export type RsPackFunctionDefinitionHandler = {
    rspack?: RsPackFunctionDefinition | boolean;
} & Serverless.FunctionDefinitionHandler;
type RsPackFunctionDefinition = {
    enable?: boolean;
    scripts?: string[];
};
export declare function isInvokeOptions(options: Serverless.Options): options is Serverless.Options & {
    function: string;
};
export declare function isDeployFunctionOptions(options: Serverless.Options): options is Serverless.Options & {
    function: string;
};
export type PluginFunctionEntries = {
    [name: string]: {
        import: string;
        filename: string;
    };
};
export type PluginFunctionScripts = {
    [name: string]: string[];
};
export {};
