import { z } from "zod";
export declare function expandPath(p: string): string;
declare const BundleConfigSchema: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodObject<{
    include: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
    outfile: z.ZodOptional<z.ZodString>;
    index: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>]>;
declare const UploadConfigSchema: z.ZodObject<{
    provider: z.ZodLiteral<"gdrive">;
    folderId: z.ZodOptional<z.ZodString>;
    clientId: z.ZodString;
    clientSecret: z.ZodString;
}, z.core.$strip>;
declare const ConfigSchema: z.ZodObject<{
    outDir: z.ZodDefault<z.ZodString>;
    upload: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
        provider: z.ZodLiteral<"gdrive">;
        folderId: z.ZodOptional<z.ZodString>;
        clientId: z.ZodString;
        clientSecret: z.ZodString;
    }, z.core.$strip>, z.ZodArray<z.ZodObject<{
        provider: z.ZodLiteral<"gdrive">;
        folderId: z.ZodOptional<z.ZodString>;
        clientId: z.ZodString;
        clientSecret: z.ZodString;
    }, z.core.$strip>>]>>;
    bundles: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodObject<{
        include: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
        outfile: z.ZodOptional<z.ZodString>;
        index: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>]>>;
}, z.core.$strip>;
export type UploadConfig = z.infer<typeof UploadConfigSchema>;
export type BundleConfig = z.infer<typeof BundleConfigSchema>;
export type BundleConfigInput = z.input<typeof BundleConfigSchema>;
export type Config = z.infer<typeof ConfigSchema>;
export type ConfigInput = z.input<typeof ConfigSchema>;
export declare function defineConfig(config: ConfigInput): ConfigInput;
export declare class ConfigError extends Error {
    constructor(message: string);
}
export declare function parseConfig(value: unknown): Config;
export declare function loadConfig(searchFrom?: string): Promise<Config | null>;
export declare function loadConfigFromFile(filepath: string): Promise<Config | null>;
export {};
