import type { DefinedError, JSONSchemaType } from 'ajv/dist/2019';
import type { CliOptions } from './cli-options';
export type ValidationLevel = 'default' | 'deployment' | 'none';
/** Initializes the schema to validate app.config options. Returns the schema and validator function */
export declare function initSchema(schemaPath: string): {
    appConfigSchema: JSONSchemaType<CliOptions>;
    validateAppConfigSchema: import("ajv").ValidateFunction<CliOptions>;
};
/** Validates CLI config. */
export declare function validateConfig(schemaPath: string, options: CliOptions, validationLevel?: ValidationLevel): Promise<CliOptions>;
/**
 * Returns a string for pretty console output of a validation error.
 * Refactored to accept a single options object. Title is optional and defaults to 'CLI configuration'.
 */
export declare function prettyConsoleError({ title, error, }: {
    title?: string;
    error: DefinedError;
}): string;
/**
 * Validates and throws errors for removed/deprecated 1.0 config options.
 * A workaround solution to minimize the changes in the codebase
 * @param fileConfig The configuration object from the app.config.json file.
 */
export declare function validateLegacyConfigOptions(fileConfig: CliOptions & {
    distDir?: string;
    server?: {
        open?: boolean;
    };
}): void;
