import type { StormConfig } from "@storm-software/config";
import type { ZodTypeAny } from "zod";
/**
 * Get the config for the current Storm workspace
 *
 * @returns The config for the current Storm workspace
 */
export declare const createConfig: (workspaceRoot?: string) => StormConfig;
/**
 * Get the config for the current Storm workspace
 *
 * @returns The config for the current Storm workspace
 */
export declare const createStormConfig: <TExtensionName extends keyof StormConfig["extensions"] = string, TExtensionConfig = any, TExtensionSchema extends ZodTypeAny = ZodTypeAny>(extensionName?: TExtensionName, schema?: TExtensionSchema, workspaceRoot?: string) => StormConfig<TExtensionName, TExtensionConfig>;
/**
 * Get the config for a specific Storm config Extension
 *
 * @param extensionName - The name of the config extension
 * @param options - The options for the config extension
 * @returns The config for the specified Storm config extension. If the extension does not exist, `undefined` is returned.
 */
export declare const createConfigExtension: <TExtensionName extends keyof StormConfig["extensions"] = string, TExtensionConfig = any, TExtensionSchema extends ZodTypeAny = ZodTypeAny>(extensionName: TExtensionName, schema: TExtensionSchema) => TExtensionConfig;
/**
 * Load the config file values for the current Storm workspace into environment variables
 */
export declare const loadStormConfig: (workspaceRoot?: string) => Promise<StormConfig>;
