type EnvDefinition = {
    type: 'string';
    default?: string;
} | {
    type: 'number';
    default?: number;
} | {
    type: 'boolean';
    default?: boolean;
} | {
    type: 'enum';
    values: string[];
    default?: string;
};
type EnvSchema = Record<string, EnvDefinition>;
declare function defineEnv<T extends EnvSchema>(schema: T): T;

declare function loadEnv<T extends EnvSchema>(schema: T): Record<keyof T, any>;

export { defineEnv, loadEnv };
