import type { StructuredData } from "../DynamicHead.types";
/** Representa un catálogo de datos al que pertenece el dataset */
export interface DataCatalogProps {
    "@type": "DataCatalog";
    name: string;
    url?: string;
}
/** Describe una descarga de datos específica */
export interface DataDownloadProps {
    "@type": "DataDownload";
    contentUrl: string;
    encodingFormat?: string;
    name?: string;
    description?: string;
}
/** Props principales para el Dataset */
export interface DatasetProps {
    name: string;
    description?: string;
    url?: string;
    identifier?: string | string[];
    keywords?: string[];
    license?: string;
    citation?: string;
    creator?: {
        "@type": "Person" | "Organization";
        name: string;
        url?: string;
    } | Array<{
        "@type": "Person" | "Organization";
        name: string;
        url?: string;
    }>;
    publisher?: {
        "@type": "Organization";
        name: string;
        url?: string;
    };
    datePublished?: string;
    dateModified?: string;
    measurementTechnique?: string;
    variableMeasured?: string[];
    spatialCoverage?: string | {
        "@type": "Place";
        name?: string;
        geo?: {
            "@type": "GeoCoordinates";
            latitude: number | string;
            longitude: number | string;
        };
    };
    temporalCoverage?: string;
    includedInDataCatalog?: DataCatalogProps;
    distribution: DataDownloadProps[];
}
/**
 * Generador de JSON-LD para Dataset.
 */
export declare function dataset(opts: DatasetProps): StructuredData;
