import { type ValidateFunction } from 'ajv/dist/2020.js';
import { type LogService } from 'common-services';
import { type AppEnvVars } from 'application-services';
import { type OpenAPI } from 'ya-open-api-types';
import { type JSONSchema } from 'ya-json-schema-types';
export declare const DEFAULT_SCHEMA_VALIDATORS_OPTIONS: {
    readonly lazy: false;
    readonly optimistic: true;
};
/** Options for schema validation */
export type WhookSchemaValidatorsOptions = {
    /** Compile only at first validation */
    lazy: boolean;
    /** Consider that reused schemas are always using refs */
    optimistic: boolean;
};
export type WhookSchemaValidatorsConfig = {
    DEBUG_NODE_ENVS: string[];
    SCHEMA_VALIDATORS_OPTIONS?: WhookSchemaValidatorsOptions;
};
export type WhookSchemaValidatorsDependencies = WhookSchemaValidatorsConfig & {
    API: OpenAPI;
    ENV: AppEnvVars;
    log?: LogService;
};
export type WhookSchemaValidatorsService = (schema: JSONSchema) => ValidateFunction;
declare const _default: import("knifecycle").ServiceInitializer<WhookSchemaValidatorsDependencies, WhookSchemaValidatorsService>;
export default _default;
