import { type JSONSchema } from '../json-schema/index.js';
import type { Options } from '../options/index.js';
export declare function normalizeURI(uri: string): string;
export declare function normalizeURI(uri: undefined): undefined;
export declare function normalizeURI(uri: string | undefined): string | undefined;
/**
 * Returns a non relative uri or `undefined`
 *
 */
export declare function resolveSchemaIdValue(baseURI: string | undefined, $id: string | undefined): string | undefined;
export declare function createSchemaCloneWithNonRelativeIdsAndRefs(schema: JSONSchema, baseURI: string | undefined, idDenyList: Set<string>): {
    schema: JSONSchema;
    ids: Set<string>;
};
export declare function getBaseURIsFromOptions(options?: Options | undefined): (string | undefined)[];
/**
 * Takes `options`' `baseURI` property and returns the given `schemas` with a
 * `$id` that has been resolved accordingly. The returned `options`' `baseURI`
 * is set to `undefined` since this is not needed any more.
 *
 */
export declare function resolveSchemaArgumentsIds<const Schemas extends JSONSchema[], Options_ extends Options | undefined>(schemas: Schemas, options: Options_): {
    schemas: {
        [Key in keyof Schemas]: JSONSchema;
    };
    options: Options_ & {
        baseURI: undefined;
        definitions: JSONSchema[];
    };
};
