import { StandardSchemaV1, StandardJSONSchemaV1 } from '@standard-schema/spec';

interface EnvVarLike {
    key: string;
    value: string;
}
type TransformedConfig = Record<string, string | Record<string, unknown>>;
declare function transformEnvVars(vars: readonly EnvVarLike[]): TransformedConfig;

type ErrorBehavior = 'throw' | 'warn' | 'ignore';
type SchemaSource = StandardSchemaV1 | string;
interface ValidationOptions {
    /** Standard Schema or project-relative path to a default-exported schema module */
    $schema?: SchemaSource;
    /** Validate runtime config at build time. Default: true */
    validateAtBuild?: boolean;
    /** Validate runtime config at runtime via Nitro plugin. Default: false */
    validateAtRuntime?: boolean;
    /** JSON Schema target version. Default: 'draft-2020-12' */
    jsonSchemaTarget?: StandardJSONSchemaV1.Target;
    /** Behavior when validation fails. Default: 'throw' */
    onError?: ErrorBehavior;
}
declare module 'nitro/types' {
    interface NitroConfig {
        safeRuntimeConfig?: ValidationOptions;
    }
    interface NitroOptions {
        safeRuntimeConfig?: ValidationOptions;
    }
}
declare module 'nitropack/types' {
    interface NitroConfig {
        safeRuntimeConfig?: ValidationOptions;
    }
    interface NitroOptions {
        safeRuntimeConfig?: ValidationOptions;
    }
}

declare const RUNTIME_PLUGIN_PATH: string;
declare const RUNTIME_MIDDLEWARE_PATH: string;
declare function resolveRuntimeConfigImport(majorVersion: number, parentPath: string): string;
interface CompatibleNitroModule {
    name?: string;
    setup: (nitro: unknown) => void | Promise<void>;
}
declare const _default: CompatibleNitroModule;

export { RUNTIME_MIDDLEWARE_PATH, RUNTIME_PLUGIN_PATH, _default as default, resolveRuntimeConfigImport, transformEnvVars };
export type { ErrorBehavior, SchemaSource, ValidationOptions };
