import { EuropaOptions } from "./EuropaOptions";
import { Environment } from "./environment/Environment";
declare const _environment: unique symbol;
/**
 * A parser for {@link EuropaOptions} that provides null safety and supports default value resolution.
 */
export declare class EuropaOptionsParser {
    private readonly [_environment];
    /**
     * Creates an instance of {@link EuropaOptionsParser} using the `options` provided.
     *
     * @param options - The options to be used.
     */
    constructor(options: EuropaOptionsParserOptions);
    /**
     * Parses the specified `options`, extracting only properties that match valid options and applying default values
     * where required.
     *
     * @param options - The options to be parsed.
     * @return The parsed options.
     */
    parse(options: EuropaOptions | undefined): Required<EuropaOptions>;
}
/**
 * The options used by {@link EuropaOptionsParser}.
 */
export declare type EuropaOptionsParserOptions = {
    /**
     * The {@link Environment} to be used to provide environment-specific defaults, if needed.
     */
    readonly environment: Environment<any, any>;
};
export {};
