import { type ValidateFunction } from 'ajv';
import { type AnyValidateFunction } from 'ajv/dist/types';
import { type AnyType } from '../types/any';
import { type DbtManifestVersion, type DbtMetric, type DbtRawModelNode } from '../types/dbt';
export declare class ManifestValidator {
    private readonly lightdashSchemaId;
    private readonly dbtSchemaId;
    constructor(manifestVersion: DbtManifestVersion);
    static isValid: (validator: ValidateFunction<AnyType>, data: AnyType) => [true, undefined] | [false, string];
    static formatAjvErrors: (validator: AnyValidateFunction) => string;
    static getValidator: <T>(schemaRef: string) => AnyValidateFunction<T>;
    isModelValid: (model: DbtRawModelNode) => [true, undefined] | [false, string];
    isDbtMetricValid: (metric: DbtMetric) => [true, undefined] | [false, string];
}
//# sourceMappingURL=validation.d.ts.map