import type { Descriptor } from "../../models/descriptor.ts"; import type { Profile } from "../../models/profile.ts"; export declare function validateDescriptor(descriptor: Descriptor, options: { profile: Profile; rootJsonPointer?: string; }): Promise<{ valid: boolean; errors: ({ resourceName?: string | undefined; type: "metadata"; message: string; jsonPointer: string; } | { resourceName?: string | undefined; type: "resource/missing"; referencingResourceName: string; } | { resourceName?: string | undefined; type: "resource/type"; expectedResourceType: "data" | "table"; referencingResourceName?: string | undefined; } | { resourceName?: string | undefined; type: "column/missing"; columnName: string; } | { resourceName?: string | undefined; type: "column/type"; columnName: string; expectedColumnType: "array" | "base64" | "boolean" | "categorical" | "date" | "date-time" | "decimal" | "duration" | "email" | "geojson" | "hex" | "integer" | "list" | "number" | "object" | "string" | "time" | "topojson" | "unknown" | "url" | "wkb" | "wkt"; actualColumnType: "array" | "base64" | "boolean" | "categorical" | "date" | "date-time" | "decimal" | "duration" | "email" | "geojson" | "hex" | "integer" | "list" | "number" | "object" | "string" | "time" | "topojson" | "unknown" | "url" | "wkb" | "wkt"; } | { resourceName?: string | undefined; type: "row/primaryKey"; rowNumber: number; columnNames: string[]; } | { resourceName?: string | undefined; type: "row/uniqueKey"; rowNumber: number; columnNames: string[]; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/type"; columnType: "array" | "base64" | "boolean" | "categorical" | "date" | "date-time" | "decimal" | "duration" | "email" | "geojson" | "hex" | "integer" | "list" | "number" | "object" | "string" | "time" | "topojson" | "unknown" | "url" | "wkb" | "wkt"; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/missing"; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/minimum"; minimum: string; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/maximum"; maximum: string; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/exclusiveMinimum"; minimum: string; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/exclusiveMaximum"; maximum: string; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/multipleOf"; multipleOf: number; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/minLength"; minLength: number; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/maxLength"; maxLength: number; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/minItems"; minItems: number; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/maxItems"; maxItems: number; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/pattern"; pattern: string; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/unique"; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/const"; const: string; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/enum"; enum: string[]; } | { resourceName?: string | undefined; columnName: string; rowNumber: number; cell: string; type: "cell/json"; message: string; jsonPointer: string; } | { resourceName?: string | undefined; type: "file/textual"; actualEncoding?: string | undefined; } | { resourceName?: string | undefined; type: "file/integrity"; hashType: string; expectedHash: string; actualHash: string; } | { resourceName?: string | undefined; type: "data"; message: string; jsonPointer: string; } | { resourceName?: string | undefined; type: "foreignKey"; foreignKey: { columns: string[]; reference: { resource?: string | undefined; columns: string[]; }; }; cells: string[]; })[]; }>;