import type { Descriptor } from "../../models/descriptor.ts"; import type { TableSchema } from "../../models/tableSchema.ts"; export declare function validateTableSchema(source: TableSchema | Descriptor | string, options?: { rootJsonPointer?: string; }): Promise<{ valid: boolean; errors: ({ resourceName?: string | undefined; type: "resource/missing"; referencingResourceName: string; } | { resourceName?: string | undefined; type: "resource/type"; expectedResourceType: "data" | "table"; referencingResourceName?: string | undefined; } | { resourceName?: string | undefined; type: "foreignKey"; foreignKey: { columns: string[]; reference: { resource?: string | undefined; columns: string[]; }; }; cells: string[]; } | { 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: "metadata"; message: string; jsonPointer: string; } | { resourceName?: string | undefined; type: "data"; message: string; jsonPointer: string; })[]; tableSchema: { $schema?: string | undefined; title?: string | undefined; description?: string | undefined; required?: string[] | undefined; allRequired?: boolean | undefined; properties?: Record[] | undefined; const?: Record | undefined; default?: Record[] | undefined; examples?: Record[] | undefined; missingValues?: (string | { value: string; label: string; })[] | undefined; allOf?: unknown; anyOf?: unknown; oneOf?: unknown; not?: unknown; if?: unknown; then?: unknown; else?: unknown; properties?: unknown; additionalProperties?: unknown; patternProperties?: unknown; propertyNames?: unknown; minProperties?: number | undefined; maxProperties?: number | undefined; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; required?: unknown; format: "geojson"; } | { title?: string | undefined; description?: string | undefined; rdfType?: string | undefined; type: "object" | ["null", "object"] | ["object", "null"]; enum?: Record[] | undefined; const?: Record | undefined; default?: Record[] | undefined; examples?: Record[] | undefined; missingValues?: (string | { value: string; label: string; })[] | undefined; allOf?: unknown; anyOf?: unknown; oneOf?: unknown; not?: unknown; if?: unknown; then?: unknown; else?: unknown; properties?: unknown; additionalProperties?: unknown; patternProperties?: unknown; propertyNames?: unknown; minProperties?: number | undefined; maxProperties?: number | undefined; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; required?: unknown; format: "topojson"; } | { title?: string | undefined; description?: string | undefined; rdfType?: string | undefined; type: "object" | ["null", "object"] | ["object", "null"]; enum?: Record[] | undefined; const?: Record | undefined; default?: Record[] | undefined; examples?: Record[] | undefined; missingValues?: (string | { value: string; label: string; })[] | undefined; allOf?: unknown; anyOf?: unknown; oneOf?: unknown; not?: unknown; if?: unknown; then?: unknown; else?: unknown; properties?: unknown; additionalProperties?: unknown; patternProperties?: unknown; propertyNames?: unknown; minProperties?: number | undefined; maxProperties?: number | undefined; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; required?: unknown; format?: "" | undefined; } | { title?: string | undefined; description?: string | undefined; rdfType?: string | undefined; type: "array" | ["array", "null"] | ["null", "array"]; format?: "" | undefined; enum?: unknown[] | undefined; const?: unknown[] | undefined; default?: unknown[][] | undefined; examples?: unknown[][] | undefined; missingValues?: (string | { value: string; label: string; })[] | undefined; allOf?: unknown; anyOf?: unknown; oneOf?: unknown; not?: unknown; if?: unknown; then?: unknown; else?: unknown; items?: unknown; prefixItems?: unknown; additionalItems?: unknown; contains?: unknown; minContains?: number | undefined; maxContains?: number | undefined; maxItems?: number | undefined; minItems?: number | undefined; uniqueItems?: boolean | undefined; } | { title?: string | undefined; description?: string | undefined; rdfType?: string | undefined; type: "boolean" | ["boolean", "null"] | ["null", "boolean"]; format?: "" | undefined; enum?: boolean[] | undefined; const?: boolean | undefined; default?: boolean[] | undefined; examples?: boolean[] | undefined; missingValues?: (string | number | { value: string | number; label: string; })[] | undefined; trueValues?: string[] | undefined; falseValues?: string[] | undefined; } | { title?: string | undefined; description?: string | undefined; rdfType?: string | undefined; type: "number" | ["null", "number"] | ["number", "null"]; enum?: number[] | undefined; const?: number | undefined; default?: number[] | undefined; examples?: number[] | undefined; missingValues?: (string | number | { value: string | number; label: string; })[] | undefined; minimum?: number | undefined; maximum?: number | undefined; exclusiveMinimum?: number | undefined; exclusiveMaximum?: number | undefined; multipleOf?: number | undefined; decimalChar?: string | undefined; groupChar?: string | undefined; withText?: boolean | undefined; format?: "" | undefined; } | { title?: string | undefined; description?: string | undefined; rdfType?: string | undefined; type?: "null" | undefined; format?: "" | undefined; enum?: unknown[][] | undefined; const?: unknown[] | undefined; default?: unknown[] | undefined; examples?: unknown[][] | undefined; missingValues?: (string | { value: string; label: string; })[] | undefined; }> | undefined; missingValues?: (string | number | { value: string | number; label: string; })[] | undefined; primaryKey?: string[] | undefined; uniqueKeys?: string[][] | undefined; foreignKeys?: { columns: string[]; reference: { resource?: string | undefined; columns: string[]; }; }[] | undefined; } | undefined; }>;