import { z } from 'zod';
import { Runner } from './runner';
export declare const DEFAULT_NAME = "takin";
export declare const DEFAULT_CONFIG_OPTION_NAME = "config";
export declare const DEFAULT_CONFIG_OPTION_NAME_ALIAS = "c";
export declare const DEFAULT_MULTIPLE_CONFIG_FIELD = "name";
export declare const DEFAULT_ROOT: string;
export declare const PKG_FILE = "package.json";
export declare const SupportConfigExtensions: {
    readonly ts: ".ts";
    readonly js: ".js";
    readonly mjs: ".mjs";
    readonly json: ".json";
    readonly jsonc: ".jsonc";
    readonly json5: ".json5";
};
export declare const NAME_REGEXP: RegExp;
export declare const UserConfigSchema: {
    name: z.ZodOptional<z.ZodString>;
    plugins: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
        name: z.ZodString;
        enforce: z.ZodOptional<z.ZodNativeEnum<import("./types").ConstObject<["pre", "post"]>>>;
        apply: z.ZodFunction<z.ZodTuple<[z.ZodType<Runner<unknown>, z.ZodTypeDef, Runner<unknown>>], z.ZodUnknown>, z.ZodVoid>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        enforce?: "post" | "pre";
        apply?: (args_0: Runner<unknown>, ...args_1: unknown[]) => void;
    }, {
        name?: string;
        enforce?: "post" | "pre";
        apply?: (args_0: Runner<unknown>, ...args_1: unknown[]) => void;
    }>, z.ZodString]>, z.ZodTuple<[z.ZodString, z.ZodAny], null>]>, "many">, z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
        name: z.ZodString;
        enforce: z.ZodOptional<z.ZodNativeEnum<import("./types").ConstObject<["pre", "post"]>>>;
        apply: z.ZodFunction<z.ZodTuple<[z.ZodType<Runner<unknown>, z.ZodTypeDef, Runner<unknown>>], z.ZodUnknown>, z.ZodVoid>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        enforce?: "post" | "pre";
        apply?: (args_0: Runner<unknown>, ...args_1: unknown[]) => void;
    }, {
        name?: string;
        enforce?: "post" | "pre";
        apply?: (args_0: Runner<unknown>, ...args_1: unknown[]) => void;
    }>, z.ZodString]>, z.ZodTuple<[z.ZodString, z.ZodAny], null>]>]>>;
};
