/** * Generate schema.org JSON-LD for `Dataset`, `DataCatalog`, or * `DataDownload` distributions. * * Supports publisher formatting, distribution normalization (including * encoding format validation with `skipInvalidEncoding`), variable * measurement metadata and nested datasets for `DataCatalog`. * * See `DatasetOptions` for the input shape and available flags. * @returns A JSON-LD compatible `Dataset` or `DataCatalog` object */ interface PublisherLogo { url: string; width?: number; height?: number; } interface Publisher { name: string; url?: string; logo?: PublisherLogo; } interface Distribution { name?: string; contentUrl: string; encodingFormat?: string; byteSize?: number | string; datePublished?: string; license?: string; measurementTechnique?: string; } interface DatasetOptions { type?: 'Dataset' | 'DataCatalog'; name?: string; description?: string; url?: string; datePublished?: string; dateModified?: string; publisher: string | Publisher; keywords?: string[]; license?: string; version?: string; variableMeasured?: string | string[] | Array<{ name: string; value?: string | number; unitText?: string; }>; spatialCoverage?: string; distribution?: Distribution | Distribution[]; citation?: string | { text?: string; url?: string; }; funding?: string | { name: string; funder?: string; } | Array; skipInvalidEncoding?: boolean; datasets?: DatasetOptions[]; } declare const generateDatasetSchema: ({ type, name, description, url, datePublished, dateModified, publisher, keywords, license, version, variableMeasured, spatialCoverage, distribution, datasets, skipInvalidEncoding, }: DatasetOptions) => any; export { generateDatasetSchema };