import { Store } from 'n3';
import { QueryEngine } from '@comunica/query-sparql';

interface AuthCredentials {
    username: string;
    password: string;
}
declare class RDFGraph {
    protected store: Store;
    protected quiet: boolean;
    protected endpoint?: string;
    protected engine: QueryEngine;
    protected remote: boolean;
    protected auth?: AuthCredentials;
    constructor(store?: Store, quiet?: boolean, endpoint?: string, auth?: AuthCredentials);
    /**
     * Set authentication credentials for SPARQL endpoint
     * @param auth Authentication credentials containing username and password
     */
    setAuth(auth: AuthCredentials): void;
    /**
     * Clear authentication credentials
     */
    clearAuth(): void;
    /**
     * Execute a SPARQL query
     * @param queryStr SPARQL query string
     * @returns Array containing results and raw dataframe
     */
    protected query(queryStr: string): Promise<[any[], any]>;
    /**
     * Execute a SPARQL ASK query
     * @param queryStr SPARQL ASK query string
     * @returns Boolean result of the ASK query
     */
    askQuery(queryStr: string): Promise<boolean>;
    /**
     * Execute a SPARQL Update query
     * @param queryStr SPARQL Update query string
     * @returns Boolean result of the Update query
     */
    updateQuery(queryStr: string): Promise<void>;
    /**
     * Get the source configuration for queries
     * @returns Array containing the store configuration
     * @private
     */
    private getConfiguration;
    getStore(): Store;
    /**
     * Get id(s) from the graph and returns a new RDFGraph object
     * @param ids Graph id(s) to get
     * @returns RDFGraph object with the retrieved graph(s)
     */
    get(ids: string | string[]): RDFGraph;
    /**
     * Removes id(s) from the graph
     * @param ids Graph id(s) to be removed
     */
    remove(ids: string | string[]): void;
    /**
     * Pops graph(s) from the combined graph and returns the popped RDF Graph
     * @param ids Graph id(s) to be popped
     * @returns RDFGraph object with the popped graph(s)
     */
    pop(ids: string | string[]): RDFGraph;
    /**
     * Sets a SPARQL endpoint for a remote Knowledge Base (example: GraphDB)
     * @param endpoint URL for the SPARQL endpoint
     *
     * @example
     * ```typescript
     * // Fetch LiPD data from remote RDF Graph
     * const rdf = new RDFGraph();
     * rdf.setEndpoint("https://linkedearth.graphdb.mint.isi.edu/repositories/LiPDVerse-dynamic");
     * rdf.setRemote(true);
     * const [result, resultDf] = await rdf.query("SELECT ?s ?p ?o WHERE {?s ?p ?o} LIMIT 10");
     * ```
     */
    setEndpoint(endpoint: string): void;
    getEndpoint(): string | undefined;
    setRemote(remote: boolean): void;
    getRemote(): boolean;
}

declare class LiPDSeries extends RDFGraph {
    private lipds;
    constructor(graph?: Store);
    /**
     * Load LiPD data into the series
     * @param lipd LiPD object to load
     */
    load(lipd: LiPD): void;
}

declare class ArchiveType {
    private id;
    private label;
    static synonyms: any;
    constructor(id: string, label: string);
    equals(value: ArchiveType): boolean;
    getLabel(): string;
    getId(): string;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): string;
    static fromSynonym(synonym: string): ArchiveType | null;
}
declare class ArchiveTypeConstants {
    static Borehole: ArchiveType;
    static Coral: ArchiveType;
    static FluvialSediment: ArchiveType;
    static GlacierIce: ArchiveType;
    static GroundIce: ArchiveType;
    static LakeSediment: ArchiveType;
    static MarineSediment: ArchiveType;
    static Midden: ArchiveType;
    static MolluskShell: ArchiveType;
    static Peat: ArchiveType;
    static Sclerosponge: ArchiveType;
    static Shoreline: ArchiveType;
    static Speleothem: ArchiveType;
    static TerrestrialSediment: ArchiveType;
    static Wood: ArchiveType;
    static Documents: ArchiveType;
    static Other: ArchiveType;
}

declare class Change {
    name: string | null;
    notes: string[];
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Change;
    static fromData(id: string, data: Record<string, any>): Change;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Change;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getName(): string | null;
    setName(name: string): void;
    getNotes(): string[];
    setNotes(notes: string[]): void;
    addNotes(notes: string): void;
}

declare class ChangeLog {
    changes: Change[];
    curator: string | null;
    lastVersion: string | null;
    notes: string | null;
    timestamp: string | null;
    version: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): ChangeLog;
    static fromData(id: string, data: Record<string, any>): ChangeLog;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): ChangeLog;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getChanges(): Change[];
    setChanges(changes: Change[]): void;
    addChanges(changes: Change): void;
    getCurator(): string | null;
    setCurator(curator: string): void;
    getLastVersion(): string | null;
    setLastVersion(lastVersion: string): void;
    getNotes(): string | null;
    setNotes(notes: string): void;
    getTimestamp(): string | null;
    setTimestamp(timestamp: string): void;
    getVersion(): string | null;
    setVersion(version: string): void;
}

declare class Calibration {
    dOI: string | null;
    datasetRange: string | null;
    equation: string | null;
    equationIntercept: string | null;
    equationR2: string | null;
    equationSlope: string | null;
    equationSlopeUncertainty: string | null;
    method: string | null;
    methodDetail: string | null;
    notes: string | null;
    proxyDataset: string | null;
    seasonality: string | null;
    targetDataset: string | null;
    uncertainty: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Calibration;
    static fromData(id: string, data: Record<string, any>): Calibration;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Calibration;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getDOI(): string | null;
    setDOI(dOI: string): void;
    getDatasetRange(): string | null;
    setDatasetRange(datasetRange: string): void;
    getEquation(): string | null;
    setEquation(equation: string): void;
    getEquationIntercept(): string | null;
    setEquationIntercept(equationIntercept: string): void;
    getEquationR2(): string | null;
    setEquationR2(equationR2: string): void;
    getEquationSlope(): string | null;
    setEquationSlope(equationSlope: string): void;
    getEquationSlopeUncertainty(): string | null;
    setEquationSlopeUncertainty(equationSlopeUncertainty: string): void;
    getMethod(): string | null;
    setMethod(method: string): void;
    getMethodDetail(): string | null;
    setMethodDetail(methodDetail: string): void;
    getNotes(): string | null;
    setNotes(notes: string): void;
    getProxyDataset(): string | null;
    setProxyDataset(proxyDataset: string): void;
    getSeasonality(): string | null;
    setSeasonality(seasonality: string): void;
    getTargetDataset(): string | null;
    setTargetDataset(targetDataset: string): void;
    getUncertainty(): string | null;
    setUncertainty(uncertainty: string): void;
}

declare class Compilation {
    name: string | null;
    versions: string[];
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Compilation;
    static fromData(id: string, data: Record<string, any>): Compilation;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Compilation;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getName(): string | null;
    setName(name: string): void;
    getVersions(): string[];
    setVersions(versions: string[]): void;
    addVersion(versions: string): void;
}

declare class InterpretationSeasonality {
    private id;
    private label;
    static synonyms: any;
    constructor(id: string, label: string);
    equals(value: InterpretationSeasonality): boolean;
    getLabel(): string;
    getId(): string;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): string;
    static fromSynonym(synonym: string): InterpretationSeasonality | null;
}
declare class InterpretationSeasonalityConstants {
    static Oct_May: InterpretationSeasonality;
    static Jun: InterpretationSeasonality;
    static Jul: InterpretationSeasonality;
    static Aug: InterpretationSeasonality;
    static Annual: InterpretationSeasonality;
    static Winter: InterpretationSeasonality;
    static Apr: InterpretationSeasonality;
    static Apr_Aug: InterpretationSeasonality;
    static Apr_Dec: InterpretationSeasonality;
    static Apr_Feb: InterpretationSeasonality;
    static Apr_Jan: InterpretationSeasonality;
    static Apr_Jul: InterpretationSeasonality;
    static Apr_Jun: InterpretationSeasonality;
    static Apr_Mar: InterpretationSeasonality;
    static Apr_May: InterpretationSeasonality;
    static Apr_Nov: InterpretationSeasonality;
    static Apr_Oct: InterpretationSeasonality;
    static Apr_Sep: InterpretationSeasonality;
    static Summer: InterpretationSeasonality;
    static Aug_Apr: InterpretationSeasonality;
    static Aug_Dec: InterpretationSeasonality;
    static Aug_Feb: InterpretationSeasonality;
    static Aug_Jan: InterpretationSeasonality;
    static Aug_Jul: InterpretationSeasonality;
    static Aug_Jun: InterpretationSeasonality;
    static Aug_Mar: InterpretationSeasonality;
    static Aug_May: InterpretationSeasonality;
    static Aug_Nov: InterpretationSeasonality;
    static Aug_Oct: InterpretationSeasonality;
    static Aug_Sep: InterpretationSeasonality;
    static Growing_Season: InterpretationSeasonality;
    static Coldest_Month: InterpretationSeasonality;
    static Dec_Apr: InterpretationSeasonality;
    static Dec_Aug: InterpretationSeasonality;
    static Dec_Feb: InterpretationSeasonality;
    static Dec_Jan: InterpretationSeasonality;
    static Dec_Jul: InterpretationSeasonality;
    static Dec_Jun: InterpretationSeasonality;
    static Dec_Mar: InterpretationSeasonality;
    static Dec_May: InterpretationSeasonality;
    static Dec_Oct: InterpretationSeasonality;
    static Dec_Sep: InterpretationSeasonality;
    static Fall: InterpretationSeasonality;
    static Feb_Aug: InterpretationSeasonality;
    static Feb_Apr: InterpretationSeasonality;
    static Feb_Dec: InterpretationSeasonality;
    static Feb_Jul: InterpretationSeasonality;
    static Feb_Jun: InterpretationSeasonality;
    static Feb_Mar: InterpretationSeasonality;
    static Feb_May: InterpretationSeasonality;
    static Feb_Nov: InterpretationSeasonality;
    static Feb_Oct: InterpretationSeasonality;
    static Feb_Sep: InterpretationSeasonality;
    static Jan: InterpretationSeasonality;
    static Jan_Apr: InterpretationSeasonality;
    static Jan_Aug: InterpretationSeasonality;
    static Jan_Feb: InterpretationSeasonality;
    static Jan_Jul: InterpretationSeasonality;
    static Jan_Jun: InterpretationSeasonality;
    static Jan_Mar: InterpretationSeasonality;
    static Jan_May: InterpretationSeasonality;
    static Jan_Nov: InterpretationSeasonality;
    static Jan_Oct: InterpretationSeasonality;
    static Jan_Sep: InterpretationSeasonality;
    static May_Sep: InterpretationSeasonality;
    static Jul_Apr: InterpretationSeasonality;
    static Jul_Aug: InterpretationSeasonality;
    static Jul_Dec: InterpretationSeasonality;
    static Jul_Feb: InterpretationSeasonality;
    static Jul_Jan: InterpretationSeasonality;
    static Jul_Jun: InterpretationSeasonality;
    static Jul_Mar: InterpretationSeasonality;
    static Jul_May: InterpretationSeasonality;
    static Jul_Nov: InterpretationSeasonality;
    static Jul_Oct: InterpretationSeasonality;
    static Jul_Sep: InterpretationSeasonality;
    static Jun_Apr: InterpretationSeasonality;
    static Jun_Aug: InterpretationSeasonality;
    static Jun_Sep: InterpretationSeasonality;
    static Jun_Dec: InterpretationSeasonality;
    static Jun_Feb: InterpretationSeasonality;
    static Jun_Jan: InterpretationSeasonality;
    static Jun_Jul: InterpretationSeasonality;
    static Jun_Mar: InterpretationSeasonality;
    static Jun_Nov: InterpretationSeasonality;
    static Jun_Oct: InterpretationSeasonality;
    static Mar: InterpretationSeasonality;
    static Mar_Apr: InterpretationSeasonality;
    static Mar_Aug: InterpretationSeasonality;
    static Mar_Dec: InterpretationSeasonality;
    static Mar_Jan: InterpretationSeasonality;
    static Mar_Jul: InterpretationSeasonality;
    static Mar_Jun: InterpretationSeasonality;
    static Mar_May: InterpretationSeasonality;
    static Mar_Nov: InterpretationSeasonality;
    static Mar_Oct: InterpretationSeasonality;
    static Mar_Sep: InterpretationSeasonality;
    static May_Apr: InterpretationSeasonality;
    static May_Aug: InterpretationSeasonality;
    static May_Dec: InterpretationSeasonality;
    static May_Oct: InterpretationSeasonality;
    static May_Feb: InterpretationSeasonality;
    static May_Jan: InterpretationSeasonality;
    static May_Jul: InterpretationSeasonality;
    static May_Jun: InterpretationSeasonality;
    static May_Mar: InterpretationSeasonality;
    static May_Nov: InterpretationSeasonality;
    static needsToBeChanged: InterpretationSeasonality;
    static Nov_Apr: InterpretationSeasonality;
    static Nov_Aug: InterpretationSeasonality;
    static Nov_Dec: InterpretationSeasonality;
    static Nov_Feb: InterpretationSeasonality;
    static Nov_Jan: InterpretationSeasonality;
    static Nov_Jul: InterpretationSeasonality;
    static Nov_Jun: InterpretationSeasonality;
    static Nov_Mar: InterpretationSeasonality;
    static Nov_May: InterpretationSeasonality;
    static Nov_Oct: InterpretationSeasonality;
    static Nov_Sep: InterpretationSeasonality;
    static Oct_Apr: InterpretationSeasonality;
    static Oct_Aug: InterpretationSeasonality;
    static Oct_Dec: InterpretationSeasonality;
    static Oct_Feb: InterpretationSeasonality;
    static Oct_Jan: InterpretationSeasonality;
    static Oct_Jul: InterpretationSeasonality;
    static Oct_Jun: InterpretationSeasonality;
    static Oct_Mar: InterpretationSeasonality;
    static Oct_Nov: InterpretationSeasonality;
    static Oct_Sep: InterpretationSeasonality;
    static Sep_Apr: InterpretationSeasonality;
    static Sep_Aug: InterpretationSeasonality;
    static Sep_Dec: InterpretationSeasonality;
    static Sep_Feb: InterpretationSeasonality;
    static Sep_Jan: InterpretationSeasonality;
    static Sep_Jul: InterpretationSeasonality;
    static Sep_Jun: InterpretationSeasonality;
    static Sep_Mar: InterpretationSeasonality;
    static Sep_May: InterpretationSeasonality;
    static Sep_Nov: InterpretationSeasonality;
    static Sep_Oct: InterpretationSeasonality;
    static Spr_Sum: InterpretationSeasonality;
    static Spring: InterpretationSeasonality;
    static subannual: InterpretationSeasonality;
    static Warmest_Month: InterpretationSeasonality;
    static Wet_Season: InterpretationSeasonality;
    static Win_Spr: InterpretationSeasonality;
}

declare class InterpretationVariable {
    private id;
    private label;
    static synonyms: any;
    constructor(id: string, label: string);
    equals(value: InterpretationVariable): boolean;
    getLabel(): string;
    getId(): string;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): string;
    static fromSynonym(synonym: string): InterpretationVariable | null;
}
declare class InterpretationVariableConstants {
    static C3C4Ratio: InterpretationVariable;
    static circulationIndex: InterpretationVariable;
    static circulationVariable: InterpretationVariable;
    static dissolvedOxygen: InterpretationVariable;
    static dust: InterpretationVariable;
    static ELA: InterpretationVariable;
    static evaporation: InterpretationVariable;
    static fire: InterpretationVariable;
    static growingDegreeDays: InterpretationVariable;
    static hydrologicBalance: InterpretationVariable;
    static lakeWaterIsotope: InterpretationVariable;
    static meltwater: InterpretationVariable;
    static needsToBeReplaced: InterpretationVariable;
    static P_E: InterpretationVariable;
    static precipitation: InterpretationVariable;
    static precipitationDeuteriumExcess: InterpretationVariable;
    static precipitationIsotope: InterpretationVariable;
    static productivity: InterpretationVariable;
    static relativeHumidity: InterpretationVariable;
    static salinity: InterpretationVariable;
    static seaIce: InterpretationVariable;
    static seasonality: InterpretationVariable;
    static seawaterIsotope: InterpretationVariable;
    static streamflow: InterpretationVariable;
    static sunlight: InterpretationVariable;
    static surfacePressure: InterpretationVariable;
    static temperature: InterpretationVariable;
    static upwelling: InterpretationVariable;
    static windSpeed: InterpretationVariable;
}

declare class Interpretation {
    basis: string | null;
    direction: string | null;
    local: string | null;
    mathematicalRelation: string | null;
    notes: string | null;
    rank: string | null;
    scope: string | null;
    seasonality: InterpretationSeasonality | null;
    seasonalityGeneral: InterpretationSeasonality | null;
    seasonalityOriginal: InterpretationSeasonality | null;
    variable: InterpretationVariable | null;
    variableDetail: string | null;
    variableGeneral: string | null;
    variableGeneralDirection: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Interpretation;
    static fromData(id: string, data: Record<string, any>): Interpretation;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Interpretation;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getBasis(): string | null;
    setBasis(basis: string): void;
    getDirection(): string | null;
    setDirection(direction: string): void;
    getMathematicalRelation(): string | null;
    setMathematicalRelation(mathematicalRelation: string): void;
    getNotes(): string | null;
    setNotes(notes: string): void;
    getRank(): string | null;
    setRank(rank: string): void;
    getScope(): string | null;
    setScope(scope: string): void;
    getSeasonality(): InterpretationSeasonality | null;
    setSeasonality(seasonality: InterpretationSeasonality): void;
    getSeasonalityGeneral(): InterpretationSeasonality | null;
    setSeasonalityGeneral(seasonalityGeneral: InterpretationSeasonality): void;
    getSeasonalityOriginal(): InterpretationSeasonality | null;
    setSeasonalityOriginal(seasonalityOriginal: InterpretationSeasonality): void;
    getVariable(): InterpretationVariable | null;
    setVariable(variable: InterpretationVariable): void;
    getVariableDetail(): string | null;
    setVariableDetail(variableDetail: string): void;
    getVariableGeneral(): string | null;
    setVariableGeneral(variableGeneral: string): void;
    getVariableGeneralDirection(): string | null;
    setVariableGeneralDirection(variableGeneralDirection: string): void;
    isLocal(): string | null;
    setLocal(local: string): void;
}

declare class PaleoProxy {
    private id;
    private label;
    static synonyms: any;
    constructor(id: string, label: string);
    equals(value: PaleoProxy): boolean;
    getLabel(): string;
    getId(): string;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): string;
    static fromSynonym(synonym: string): PaleoProxy | null;
}
declare class PaleoProxyConstants {
    static accumulation_rate: PaleoProxy;
    static ACL: PaleoProxy;
    static Al2O3: PaleoProxy;
    static alkenone: PaleoProxy;
    static amoeba: PaleoProxy;
    static Ba_Al: PaleoProxy;
    static Ba_Ca: PaleoProxy;
    static biomarker: PaleoProxy;
    static BIT: PaleoProxy;
    static borehole: PaleoProxy;
    static BSi: PaleoProxy;
    static bubble_frequency: PaleoProxy;
    static bulk_density: PaleoProxy;
    static bulk_sediment: PaleoProxy;
    static C_N: PaleoProxy;
    static Ca_K: PaleoProxy;
    static Ca_Ti: PaleoProxy;
    static CaCO3: PaleoProxy;
    static calcification_rate: PaleoProxy;
    static calcite: PaleoProxy;
    static carbonate: PaleoProxy;
    static cellulose: PaleoProxy;
    static charcoal: PaleoProxy;
    static chironomid: PaleoProxy;
    static chlorophyll: PaleoProxy;
    static chrysophyte_assemblage: PaleoProxy;
    static cladoceran: PaleoProxy;
    static coccolithophore: PaleoProxy;
    static d13C: PaleoProxy;
    static d15N: PaleoProxy;
    static d15N_d40Ar: PaleoProxy;
    static d18O: PaleoProxy;
    static dD: PaleoProxy;
    static deuterium_excess: PaleoProxy;
    static diatom: PaleoProxy;
    static dinocyst: PaleoProxy;
    static dry_bulk_density: PaleoProxy;
    static Eu_Zr: PaleoProxy;
    static Fe: PaleoProxy;
    static Fe_Al: PaleoProxy;
    static foraminifera: PaleoProxy;
    static GDGT: PaleoProxy;
    static grain_size: PaleoProxy;
    static HBI: PaleoProxy;
    static historical: PaleoProxy;
    static humification: PaleoProxy;
    static ice_accumulation: PaleoProxy;
    static ice_melt: PaleoProxy;
    static inorganic_carbon: PaleoProxy;
    static IP25: PaleoProxy;
    static lake_level: PaleoProxy;
    static latewood_cellulose: PaleoProxy;
    static LDI: PaleoProxy;
    static macrofossils: PaleoProxy;
    static magnetic: PaleoProxy;
    static magnetic_susceptibility: PaleoProxy;
    static mass_accumulation_rate: PaleoProxy;
    static maximum_latewood_density: PaleoProxy;
    static Mg: PaleoProxy;
    static Mg_Ca: PaleoProxy;
    static multiproxy: PaleoProxy;
    static Ti: PaleoProxy;
    static needs_to_be_changed: PaleoProxy;
    static needsToBeChanged: PaleoProxy;
    static ostracod: PaleoProxy;
    static P_aqueous: PaleoProxy;
    static peat_ash: PaleoProxy;
    static pH: PaleoProxy;
    static pollen: PaleoProxy;
    static radiolaria: PaleoProxy;
    static Rb: PaleoProxy;
    static Rb_Sr: PaleoProxy;
    static reflectance: PaleoProxy;
    static ring_width: PaleoProxy;
    static Sr: PaleoProxy;
    static Sr_Ca: PaleoProxy;
    static stratigraphy: PaleoProxy;
    static sulfur: PaleoProxy;
    static TEX86: PaleoProxy;
    static Ti_Al: PaleoProxy;
    static Ti_Ca: PaleoProxy;
    static TOC: PaleoProxy;
    static total_nitrogen: PaleoProxy;
    static varve_thickness: PaleoProxy;
}

declare class PaleoProxyGeneral {
    private id;
    private label;
    static synonyms: any;
    constructor(id: string, label: string);
    equals(value: PaleoProxyGeneral): boolean;
    getLabel(): string;
    getId(): string;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): string;
    static fromSynonym(synonym: string): PaleoProxyGeneral | null;
}
declare class PaleoProxyGeneralConstants {
    static biogenic: PaleoProxyGeneral;
    static cryophysical: PaleoProxyGeneral;
    static dendrophysical: PaleoProxyGeneral;
    static elemental: PaleoProxyGeneral;
    static faunal_assemblage: PaleoProxyGeneral;
    static floral_assemblage: PaleoProxyGeneral;
    static isotopic: PaleoProxyGeneral;
    static mineral: PaleoProxyGeneral;
    static pyrogenic: PaleoProxyGeneral;
    static sedimentology: PaleoProxyGeneral;
}

declare class PaleoUnit {
    private id;
    private label;
    static synonyms: any;
    constructor(id: string, label: string);
    equals(value: PaleoUnit): boolean;
    getLabel(): string;
    getId(): string;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): string;
    static fromSynonym(synonym: string): PaleoUnit | null;
}
declare class PaleoUnitConstants {
    static atomic_ratio: PaleoUnit;
    static cgs: PaleoUnit;
    static cm: PaleoUnit;
    static cm_kyr: PaleoUnit;
    static cm_yr: PaleoUnit;
    static cm3: PaleoUnit;
    static count: PaleoUnit;
    static count_century: PaleoUnit;
    static count_cm2: PaleoUnit;
    static count_cm2_yr: PaleoUnit;
    static count_cm3: PaleoUnit;
    static count_g: PaleoUnit;
    static count_kyr: PaleoUnit;
    static count_mL: PaleoUnit;
    static count_yr: PaleoUnit;
    static cps: PaleoUnit;
    static day: PaleoUnit;
    static degC: PaleoUnit;
    static degree: PaleoUnit;
    static fraction: PaleoUnit;
    static g: PaleoUnit;
    static g_cm_yr: PaleoUnit;
    static g_cm2: PaleoUnit;
    static g_cm2_kyr: PaleoUnit;
    static g_cm2_yr: PaleoUnit;
    static g_cm3: PaleoUnit;
    static g_L: PaleoUnit;
    static g_m2: PaleoUnit;
    static g_m2_yr: PaleoUnit;
    static grayscale: PaleoUnit;
    static kg_m2_yr: PaleoUnit;
    static kg_m3: PaleoUnit;
    static km2: PaleoUnit;
    static km3: PaleoUnit;
    static log_mg_L_: PaleoUnit;
    static m: PaleoUnit;
    static m3_kg: PaleoUnit;
    static mg: PaleoUnit;
    static mg_cm2_yr: PaleoUnit;
    static mg_g: PaleoUnit;
    static mg_kg: PaleoUnit;
    static mg_L: PaleoUnit;
    static mm: PaleoUnit;
    static mm_day: PaleoUnit;
    static mm_season: PaleoUnit;
    static mm_yr: PaleoUnit;
    static mmol_mol: PaleoUnit;
    static months_year: PaleoUnit;
    static needsToBeChanged: PaleoUnit;
    static ng: PaleoUnit;
    static ng_g: PaleoUnit;
    static peak_area: PaleoUnit;
    static percent: PaleoUnit;
    static permil: PaleoUnit;
    static pH: PaleoUnit;
    static ppb: PaleoUnit;
    static ppm: PaleoUnit;
    static practical_salinity_unit: PaleoUnit;
    static ratio: PaleoUnit;
    static SI: PaleoUnit;
    static ug_cm2_yr: PaleoUnit;
    static ug_g: PaleoUnit;
    static um: PaleoUnit;
    static umol_mol: PaleoUnit;
    static unitless: PaleoUnit;
    static yr_14C_BP: PaleoUnit;
    static yr_AD: PaleoUnit;
    static yr_b2k: PaleoUnit;
    static yr_BP: PaleoUnit;
    static yr_ka: PaleoUnit;
    static z_score: PaleoUnit;
}

declare class PaleoVariable {
    private id;
    private label;
    static synonyms: any;
    constructor(id: string, label: string);
    equals(value: PaleoVariable): boolean;
    getLabel(): string;
    getId(): string;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): string;
    static fromSynonym(synonym: string): PaleoVariable | null;
}
declare class PaleoVariableConstants {
    static ACL: PaleoVariable;
    static AET_PET: PaleoVariable;
    static ARM_IRM: PaleoVariable;
    static ARSTAN: PaleoVariable;
    static Al: PaleoVariable;
    static Al2O3: PaleoVariable;
    static As: PaleoVariable;
    static BIT: PaleoVariable;
    static BSi: PaleoVariable;
    static Ba: PaleoVariable;
    static Ba_Al: PaleoVariable;
    static Ba_Ca: PaleoVariable;
    static Be: PaleoVariable;
    static Br: PaleoVariable;
    static C20n_alkenoicAcid: PaleoVariable;
    static C21n_alkanoicAcid: PaleoVariable;
    static C22n_alkanoicAcid: PaleoVariable;
    static C23n_alkanoicAcid: PaleoVariable;
    static C24n_alkanoicAcid: PaleoVariable;
    static C25_2n_alkanoicAcid: PaleoVariable;
    static C25n_alkanoicAcid: PaleoVariable;
    static C26n_alkanoicAcid: PaleoVariable;
    static C27n_alkanoicAcid: PaleoVariable;
    static C28n_alkanoicAcid: PaleoVariable;
    static C29n_alkanoicAcid: PaleoVariable;
    static C30n_alkanoicAcid: PaleoVariable;
    static C31n_alkanoicAcid: PaleoVariable;
    static C37Alkenone: PaleoVariable;
    static C37_2Alkenone: PaleoVariable;
    static C37_3aAlkenone: PaleoVariable;
    static C37_3bAlkenone: PaleoVariable;
    static C37_4Alkenone: PaleoVariable;
    static CBT: PaleoVariable;
    static CCA1: PaleoVariable;
    static CCA2: PaleoVariable;
    static CPI: PaleoVariable;
    static C_N: PaleoVariable;
    static Ca: PaleoVariable;
    static CaCO3: PaleoVariable;
    static CaO: PaleoVariable;
    static Ca_K: PaleoVariable;
    static Ca_Sr: PaleoVariable;
    static Ca_Ti: PaleoVariable;
    static Ti_Ca: PaleoVariable;
    static Cd: PaleoVariable;
    static Cd_Mn: PaleoVariable;
    static Cl: PaleoVariable;
    static Co: PaleoVariable;
    static Cr: PaleoVariable;
    static Cu: PaleoVariable;
    static DWHI: PaleoVariable;
    static Dd2H: PaleoVariable;
    static EPS: PaleoVariable;
    static ElNinoEvent: PaleoVariable;
    static Eu_Zr: PaleoVariable;
    static Fe: PaleoVariable;
    static Fe2O3: PaleoVariable;
    static Fe_Al: PaleoVariable;
    static Fe_Ca: PaleoVariable;
    static Fe_K: PaleoVariable;
    static Fe_Mn: PaleoVariable;
    static GDGT: PaleoVariable;
    static GDGT_0_Cren: PaleoVariable;
    static IP25: PaleoVariable;
    static IRM: PaleoVariable;
    static ITCZ: PaleoVariable;
    static JulianDay: PaleoVariable;
    static K2O: PaleoVariable;
    static K37: PaleoVariable;
    static K_Al: PaleoVariable;
    static LDI: PaleoVariable;
    static LOI: PaleoVariable;
    static La: PaleoVariable;
    static MAR: PaleoVariable;
    static MBT: PaleoVariable;
    static MS: PaleoVariable;
    static Si: PaleoVariable;
    static MXD: PaleoVariable;
    static Mg: PaleoVariable;
    static MgO: PaleoVariable;
    static Mg_Ca: PaleoVariable;
    static Mn: PaleoVariable;
    static MnO: PaleoVariable;
    static Mn_Fe: PaleoVariable;
    static Mn_Mo: PaleoVariable;
    static Mo: PaleoVariable;
    static NO3: PaleoVariable;
    static nitrate: PaleoVariable;
    static N_C: PaleoVariable;
    static Na2O: PaleoVariable;
    static Ni: PaleoVariable;
    static PC1: PaleoVariable;
    static PC3: PaleoVariable;
    static PC2: PaleoVariable;
    static Paq: PaleoVariable;
    static Pb: PaleoVariable;
    static Picea_Artemisia: PaleoVariable;
    static Picea_Pinus: PaleoVariable;
    static Pinus_Artemisia: PaleoVariable;
    static Poaceae_Ephedra: PaleoVariable;
    static R570_R630: PaleoVariable;
    static R650_R700: PaleoVariable;
    static RABD660670: PaleoVariable;
    static RAN15: PaleoVariable;
    static RBAR: PaleoVariable;
    static Rb: PaleoVariable;
    static Rb87_Sr86: PaleoVariable;
    static SO4: PaleoVariable;
    static sulfate: PaleoVariable;
    static salinity: PaleoVariable;
    static Sc: PaleoVariable;
    static Si_Al: PaleoVariable;
    static Si_Ti: PaleoVariable;
    static Sr: PaleoVariable;
    static Sr_Ca: PaleoVariable;
    static TDS: PaleoVariable;
    static TEX86: PaleoVariable;
    static TIC: PaleoVariable;
    static TOC: PaleoVariable;
    static organicCarbon: PaleoVariable;
    static TOC_TN: PaleoVariable;
    static Ti: PaleoVariable;
    static TiO2: PaleoVariable;
    static Ti_Al: PaleoVariable;
    static Uk37: PaleoVariable;
    static UK37: PaleoVariable;
    static Uk37_: PaleoVariable;
    static V: PaleoVariable;
    static V_Al: PaleoVariable;
    static Y: PaleoVariable;
    static Zn: PaleoVariable;
    static Zr: PaleoVariable;
    static Zr_Al: PaleoVariable;
    static accumulation: PaleoVariable;
    static age: PaleoVariable;
    static age14C: PaleoVariable;
    static ammonium: PaleoVariable;
    static amps: PaleoVariable;
    static aragonite: PaleoVariable;
    static ash: PaleoVariable;
    static boron: PaleoVariable;
    static brGDGT_IIIa: PaleoVariable;
    static brGDGT_Id: PaleoVariable;
    static brGDGT_IIIa_: PaleoVariable;
    static brGDGT_IIIb: PaleoVariable;
    static brGDGT_IIIb_: PaleoVariable;
    static brGDGT_IIIc: PaleoVariable;
    static brGDGT_IIIc_: PaleoVariable;
    static brGDGT_IIa: PaleoVariable;
    static brGDGT_IIa_: PaleoVariable;
    static brGDGT_IIb: PaleoVariable;
    static brGDGT_IIb_: PaleoVariable;
    static brGDGT_IIc: PaleoVariable;
    static brGDGT_IIc_: PaleoVariable;
    static brGDGT_Ia: PaleoVariable;
    static brGDGT_Ib: PaleoVariable;
    static brGDGT_Ic: PaleoVariable;
    static sampleID: PaleoVariable;
    static bubbleNumberDensity: PaleoVariable;
    static bulkDensity: PaleoVariable;
    static calcificationRate: PaleoVariable;
    static calcite: PaleoVariable;
    static carbon: PaleoVariable;
    static carbonate: PaleoVariable;
    static charcoal: PaleoVariable;
    static chloride: PaleoVariable;
    static circulationIndex: PaleoVariable;
    static clay: PaleoVariable;
    static cluster: PaleoVariable;
    static index: PaleoVariable;
    static composite: PaleoVariable;
    static concentration: PaleoVariable;
    static core: PaleoVariable;
    static correction: PaleoVariable;
    static correlationCoefficient: PaleoVariable;
    static sampleCount: PaleoVariable;
    static count: PaleoVariable;
    static d13C: PaleoVariable;
    static d15N: PaleoVariable;
    static d18O: PaleoVariable;
    static d2H: PaleoVariable;
    static d2HUncertaintyHigh80: PaleoVariable;
    static d2HUncertaintyLow80: PaleoVariable;
    static deleteMe: PaleoVariable;
    static needsToBeChanged: PaleoVariable;
    static deltaRelativeHumidity: PaleoVariable;
    static deltaTemperature: PaleoVariable;
    static density: PaleoVariable;
    static depth: PaleoVariable;
    static depthBottom: PaleoVariable;
    static depthTop: PaleoVariable;
    static deuteriumExcess: PaleoVariable;
    static diatom: PaleoVariable;
    static diatomCount: PaleoVariable;
    static dinocyst: PaleoVariable;
    static dolomite: PaleoVariable;
    static dryBulkDensity: PaleoVariable;
    static duration: PaleoVariable;
    static dust: PaleoVariable;
    static effectivePrecipitation: PaleoVariable;
    static elevation: PaleoVariable;
    static zscore: PaleoVariable;
    static epsilonC28C22: PaleoVariable;
    static epsilonC28C24: PaleoVariable;
    static epsilonC29C23: PaleoVariable;
    static equilibriumLineAltitude: PaleoVariable;
    static event: PaleoVariable;
    static eventLayer: PaleoVariable;
    static facies: PaleoVariable;
    static feldspar: PaleoVariable;
    static flood: PaleoVariable;
    static fluorine: PaleoVariable;
    static foraminifera: PaleoVariable;
    static gamma: PaleoVariable;
    static glacierCoverage: PaleoVariable;
    static globigerinoidesRuber: PaleoVariable;
    static grainSize: PaleoVariable;
    static lithics: PaleoVariable;
    static grayscale: PaleoVariable;
    static growing_degree_days: PaleoVariable;
    static growthRate: PaleoVariable;
    static hasGap: PaleoVariable;
    static hasHiatus: PaleoVariable;
    static hole: PaleoVariable;
    static humidificationIndex: PaleoVariable;
    static iceMelt: PaleoVariable;
    static iceRaftedDebris: PaleoVariable;
    static inc_coh: PaleoVariable;
    static isReliable: PaleoVariable;
    static lakeArea: PaleoVariable;
    static lakeLevel: PaleoVariable;
    static lakeTrend: PaleoVariable;
    static lakeVolume: PaleoVariable;
    static landscapeCover: PaleoVariable;
    static percent: PaleoVariable;
    static latitude: PaleoVariable;
    static layerThickness: PaleoVariable;
    static longitude: PaleoVariable;
    static material: PaleoVariable;
    static mineralogy: PaleoVariable;
    static sulfur: PaleoVariable;
    static needsToBeSplitIntoMultipleColumns: PaleoVariable;
    static nitrogen: PaleoVariable;
    static notes: PaleoVariable;
    static organicMatter: PaleoVariable;
    static organicNitrogen: PaleoVariable;
    static oxygen: PaleoVariable;
    static pH: PaleoVariable;
    static peat: PaleoVariable;
    static phosphorus: PaleoVariable;
    static potassium: PaleoVariable;
    static precipitation: PaleoVariable;
    static productivity: PaleoVariable;
    static pyrite: PaleoVariable;
    static quartz: PaleoVariable;
    static reflectance: PaleoVariable;
    static relativeHumidity: PaleoVariable;
    static residualChronology: PaleoVariable;
    static ringWidth: PaleoVariable;
    static sand: PaleoVariable;
    static seaIce: PaleoVariable;
    static section: PaleoVariable;
    static sedimentDry: PaleoVariable;
    static sedimentationRate: PaleoVariable;
    static segmentLength: PaleoVariable;
    static sequence: PaleoVariable;
    static silt: PaleoVariable;
    static site: PaleoVariable;
    static siteCount: PaleoVariable;
    static sodium: PaleoVariable;
    static solarIrradiance: PaleoVariable;
    static streamflow: PaleoVariable;
    static temperature: PaleoVariable;
    static thickness: PaleoVariable;
    static totalCarbon: PaleoVariable;
    static totalNitrogen: PaleoVariable;
    static totalPollen: PaleoVariable;
    static treeCover: PaleoVariable;
    static uncertainty: PaleoVariable;
    static uncertainty1s: PaleoVariable;
    static uncertainty2s: PaleoVariable;
    static uncertaintyHigh: PaleoVariable;
    static uncertaintyHigh1s: PaleoVariable;
    static uncertaintyLow95: PaleoVariable;
    static uncertaintyHigh50: PaleoVariable;
    static uncertaintyHigh90: PaleoVariable;
    static uncertaintyHigh95: PaleoVariable;
    static uncertaintyLow: PaleoVariable;
    static uncertaintyLow1s: PaleoVariable;
    static uncertaintyLow90: PaleoVariable;
    static upwelling: PaleoVariable;
    static uranium: PaleoVariable;
    static varveThickness: PaleoVariable;
    static volume: PaleoVariable;
    static waterContent: PaleoVariable;
    static waterTableDepth: PaleoVariable;
    static wetBulkDensity: PaleoVariable;
    static year: PaleoVariable;
}

declare class PhysicalSample {
    housedAt: string | null;
    iGSN: string | null;
    name: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): PhysicalSample;
    static fromData(id: string, data: Record<string, any>): PhysicalSample;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): PhysicalSample;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getHousedAt(): string | null;
    setHousedAt(housedAt: string): void;
    getIGSN(): string | null;
    setIGSN(iGSN: string): void;
    getName(): string | null;
    setName(name: string): void;
}

declare class Resolution {
    maxValue: number | null;
    meanValue: number | null;
    medianValue: number | null;
    minValue: number | null;
    units: PaleoUnit | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Resolution;
    static fromData(id: string, data: Record<string, any>): Resolution;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Resolution;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getMaxValue(): number | null;
    setMaxValue(maxValue: number): void;
    getMeanValue(): number | null;
    setMeanValue(meanValue: number): void;
    getMedianValue(): number | null;
    setMedianValue(medianValue: number): void;
    getMinValue(): number | null;
    setMinValue(minValue: number): void;
    getUnits(): PaleoUnit | null;
    setUnits(units: PaleoUnit): void;
}

declare class Variable {
    archiveType: ArchiveType | null;
    calibratedVias: Calibration[];
    columnNumber: number | null;
    composite: boolean | null;
    description: string | null;
    foundInDataset: object | null;
    foundInTable: object | null;
    instrument: object | null;
    interpretations: Interpretation[];
    maxValue: number | null;
    meanValue: number | null;
    medianValue: number | null;
    minValue: number | null;
    missingValue: string | null;
    name: string | null;
    notes: string | null;
    partOfCompilations: Compilation[];
    physicalSamples: PhysicalSample[];
    primary: boolean | null;
    proxy: PaleoProxy | null;
    proxyGeneral: PaleoProxyGeneral | null;
    resolution: Resolution | null;
    standardVariable: PaleoVariable | null;
    uncertainty: string | null;
    uncertaintyAnalytical: string | null;
    uncertaintyReproducibility: string | null;
    units: PaleoUnit | null;
    values: string | null;
    variableId: string | null;
    variableType: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Variable;
    static fromData(id: string, data: Record<string, any>): Variable;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Variable;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getArchiveType(): ArchiveType | null;
    setArchiveType(archiveType: ArchiveType): void;
    getCalibratedVias(): Calibration[];
    setCalibratedVias(calibratedVias: Calibration[]): void;
    addCalibratedVia(calibratedVias: Calibration): void;
    getColumnNumber(): number | null;
    setColumnNumber(columnNumber: number): void;
    getDescription(): string | null;
    setDescription(description: string): void;
    getFoundInDataset(): object | null;
    setFoundInDataset(foundInDataset: object): void;
    getFoundInTable(): object | null;
    setFoundInTable(foundInTable: object): void;
    getInstrument(): object | null;
    setInstrument(instrument: object): void;
    getInterpretations(): Interpretation[];
    setInterpretations(interpretations: Interpretation[]): void;
    addInterpretation(interpretations: Interpretation): void;
    getMaxValue(): number | null;
    setMaxValue(maxValue: number): void;
    getMeanValue(): number | null;
    setMeanValue(meanValue: number): void;
    getMedianValue(): number | null;
    setMedianValue(medianValue: number): void;
    getMinValue(): number | null;
    setMinValue(minValue: number): void;
    getMissingValue(): string | null;
    setMissingValue(missingValue: string): void;
    getName(): string | null;
    setName(name: string): void;
    getNotes(): string | null;
    setNotes(notes: string): void;
    getPartOfCompilations(): Compilation[];
    setPartOfCompilations(partOfCompilations: Compilation[]): void;
    addPartOfCompilation(partOfCompilations: Compilation): void;
    getPhysicalSamples(): PhysicalSample[];
    setPhysicalSamples(physicalSamples: PhysicalSample[]): void;
    addPhysicalSample(physicalSamples: PhysicalSample): void;
    getProxy(): PaleoProxy | null;
    setProxy(proxy: PaleoProxy): void;
    getProxyGeneral(): PaleoProxyGeneral | null;
    setProxyGeneral(proxyGeneral: PaleoProxyGeneral): void;
    getResolution(): Resolution | null;
    setResolution(resolution: Resolution): void;
    getStandardVariable(): PaleoVariable | null;
    setStandardVariable(standardVariable: PaleoVariable): void;
    getUncertainty(): string | null;
    setUncertainty(uncertainty: string): void;
    getUncertaintyAnalytical(): string | null;
    setUncertaintyAnalytical(uncertaintyAnalytical: string): void;
    getUncertaintyReproducibility(): string | null;
    setUncertaintyReproducibility(uncertaintyReproducibility: string): void;
    getUnits(): PaleoUnit | null;
    setUnits(units: PaleoUnit): void;
    getValues(): string | null;
    setValues(values: string): void;
    getVariableId(): string | null;
    setVariableId(variableId: string): void;
    getVariableType(): string | null;
    setVariableType(variableType: string): void;
    isComposite(): boolean | null;
    setComposite(composite: boolean): void;
    isPrimary(): boolean | null;
    setPrimary(primary: boolean): void;
}

interface VariableMetadata {
    hasValues?: boolean;
    [key: string]: any;
}
type DataFrameData = {
    [K in string]: any[];
};
interface DataFrame {
    data: DataFrameData;
    metadata: Record<string, VariableMetadata>;
}
interface DataList {
    data: any[];
    metadata: VariableMetadata[];
}
declare class DataTable {
    fileName: string | null;
    missingValue: string | null;
    variables: Variable[];
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): DataTable;
    static fromData(id: string, data: Record<string, any>): DataTable;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): DataTable;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getFileName(): string | null;
    setFileName(fileName: string): void;
    getMissingValue(): string | null;
    setMissingValue(missingValue: string): void;
    getVariables(): Variable[];
    setVariables(variables: Variable[]): void;
    addVariable(variables: Variable): void;
    /**
     * Get data as a DataFrame-like structure
     * @param useStandardNames Whether to use standard variable names instead of custom names
     * @returns Object containing data and metadata
    */
    getDataFrame(useStandardNames?: boolean): DataFrame;
    getDataList(): DataList;
    /**
     * Set data from a DataFrame-like structure
     * @param data Object containing data and metadata
     */
    setDataFrame(data: DataFrame): void;
    /**
     * Set data from a DataFrame-like structure
     * @param data Object containing data and metadata
     */
    setDataList(data: DataList): void;
}

declare class Model {
    code: string | null;
    distributionTables: DataTable[];
    ensembleTables: DataTable[];
    summaryTables: DataTable[];
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Model;
    static fromData(id: string, data: Record<string, any>): Model;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Model;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getCode(): string | null;
    setCode(code: string): void;
    getDistributionTables(): DataTable[];
    setDistributionTables(distributionTables: DataTable[]): void;
    addDistributionTable(distributionTables: DataTable): void;
    getEnsembleTables(): DataTable[];
    setEnsembleTables(ensembleTables: DataTable[]): void;
    addEnsembleTable(ensembleTables: DataTable): void;
    getSummaryTables(): DataTable[];
    setSummaryTables(summaryTables: DataTable[]): void;
    addSummaryTable(summaryTables: DataTable): void;
}

declare class ChronData {
    measurementTables: DataTable[];
    modeledBy: Model[];
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): ChronData;
    static fromData(id: string, data: Record<string, any>): ChronData;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): ChronData;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getMeasurementTables(): DataTable[];
    setMeasurementTables(measurementTables: DataTable[]): void;
    addMeasurementTable(measurementTables: DataTable): void;
    getModeledBy(): Model[];
    setModeledBy(modeledBy: Model[]): void;
    addModeledBy(modeledBy: Model): void;
}

declare class Person {
    name: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Person;
    static fromData(id: string, data: Record<string, any>): Person;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Person;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getName(): string | null;
    setName(name: string): void;
}

declare class Funding {
    fundingAgency: string | null;
    fundingCountry: string | null;
    grants: string[];
    investigators: Person[];
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Funding;
    static fromData(id: string, data: Record<string, any>): Funding;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Funding;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getFundingAgency(): string | null;
    setFundingAgency(fundingAgency: string): void;
    getFundingCountry(): string | null;
    setFundingCountry(fundingCountry: string): void;
    getGrants(): string[];
    setGrants(grants: string[]): void;
    addGrant(grants: string): void;
    getInvestigators(): Person[];
    setInvestigators(investigators: Person[]): void;
    addInvestigator(investigators: Person): void;
}

declare class Location {
    continent: string | null;
    coordinates: string | null;
    coordinatesFor: object | null;
    country: string | null;
    countryOcean: string | null;
    description: string | null;
    elevation: string | null;
    geometryType: string | null;
    latitude: string | null;
    locationName: string | null;
    locationType: string | null;
    longitude: string | null;
    notes: string | null;
    ocean: string | null;
    siteName: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Location;
    static fromData(id: string, data: Record<string, any>): Location;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Location;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getContinent(): string | null;
    setContinent(continent: string): void;
    getCoordinates(): string | null;
    setCoordinates(coordinates: string): void;
    getCoordinatesFor(): object | null;
    setCoordinatesFor(coordinatesFor: object): void;
    getCountry(): string | null;
    setCountry(country: string): void;
    getCountryOcean(): string | null;
    setCountryOcean(countryOcean: string): void;
    getDescription(): string | null;
    setDescription(description: string): void;
    getElevation(): string | null;
    setElevation(elevation: string): void;
    getGeometryType(): string | null;
    setGeometryType(geometryType: string): void;
    getLatitude(): string | null;
    setLatitude(latitude: string): void;
    getLocationName(): string | null;
    setLocationName(locationName: string): void;
    getLocationType(): string | null;
    setLocationType(locationType: string): void;
    getLongitude(): string | null;
    setLongitude(longitude: string): void;
    getNotes(): string | null;
    setNotes(notes: string): void;
    getOcean(): string | null;
    setOcean(ocean: string): void;
    getSiteName(): string | null;
    setSiteName(siteName: string): void;
}

declare class PaleoData {
    measurementTables: DataTable[];
    modeledBy: Model[];
    name: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): PaleoData;
    static fromData(id: string, data: Record<string, any>): PaleoData;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): PaleoData;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getMeasurementTables(): DataTable[];
    setMeasurementTables(measurementTables: DataTable[]): void;
    addMeasurementTable(measurementTables: DataTable): void;
    getModeledBy(): Model[];
    setModeledBy(modeledBy: Model[]): void;
    addModeledBy(modeledBy: Model): void;
    getName(): string | null;
    setName(name: string): void;
}

declare class Publication {
    abstract: string | null;
    authors: Person[];
    citation: string | null;
    citeKey: string | null;
    dOI: string | null;
    dataUrls: string[];
    firstAuthor: Person | null;
    institution: string | null;
    issue: string | null;
    journal: string | null;
    pages: string | null;
    publicationType: string | null;
    publisher: string | null;
    report: string | null;
    title: string | null;
    urls: string[];
    volume: string | null;
    year: number | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Publication;
    static fromData(id: string, data: Record<string, any>): Publication;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Publication;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getAbstract(): string | null;
    setAbstract(abstract: string): void;
    getAuthors(): Person[];
    setAuthors(authors: Person[]): void;
    addAuthor(authors: Person): void;
    getCitation(): string | null;
    setCitation(citation: string): void;
    getCiteKey(): string | null;
    setCiteKey(citeKey: string): void;
    getDOI(): string | null;
    setDOI(dOI: string): void;
    getDataUrls(): string[];
    setDataUrls(dataUrls: string[]): void;
    addDataUrl(dataUrls: string): void;
    getFirstAuthor(): Person | null;
    setFirstAuthor(firstAuthor: Person): void;
    getInstitution(): string | null;
    setInstitution(institution: string): void;
    getIssue(): string | null;
    setIssue(issue: string): void;
    getJournal(): string | null;
    setJournal(journal: string): void;
    getPages(): string | null;
    setPages(pages: string): void;
    getPublicationType(): string | null;
    setPublicationType(publicationType: string): void;
    getPublisher(): string | null;
    setPublisher(publisher: string): void;
    getReport(): string | null;
    setReport(report: string): void;
    getTitle(): string | null;
    setTitle(title: string): void;
    getUrls(): string[];
    setUrls(urls: string[]): void;
    addUrl(urls: string): void;
    getVolume(): string | null;
    setVolume(volume: string): void;
    getYear(): number | null;
    setYear(year: number): void;
}

declare class Dataset {
    archiveType: ArchiveType | null;
    changeLogs: ChangeLog[];
    chronData: ChronData[];
    collectionName: string | null;
    collectionYear: string | null;
    compilationNest: string | null;
    contributors: Person[];
    creators: Person[];
    dataSource: string | null;
    datasetId: string | null;
    fundings: Funding[];
    investigators: Person[];
    location: Location | null;
    name: string | null;
    notes: string | null;
    originalDataUrl: string | null;
    paleoData: PaleoData[];
    publications: Publication[];
    spreadsheetLink: string | null;
    version: string | null;
    protected _id: string;
    protected _type: string;
    protected _misc: Record<string, any>;
    protected _ontns: string;
    protected _ns: string;
    constructor();
    getId(): string;
    getType(): string;
    getMisc(): Record<string, any>;
    static fromDictionary(data: Record<string, any>): Dataset;
    static fromData(id: string, data: Record<string, any>): Dataset;
    toData(data?: Record<string, any>): Record<string, any>;
    toJson(): Record<string, any>;
    static fromJson(data: Record<string, any>): Dataset;
    setNonStandardProperty(key: string, value: unknown): void;
    getNonStandardProperty(key: string): unknown;
    getAllNonStandardProperties(): Record<string, unknown>;
    addNonStandardProperty(key: string, value: unknown): void;
    getArchiveType(): ArchiveType | null;
    setArchiveType(archiveType: ArchiveType): void;
    getChangeLogs(): ChangeLog[];
    setChangeLogs(changeLogs: ChangeLog[]): void;
    addChangeLog(changeLogs: ChangeLog): void;
    getChronData(): ChronData[];
    setChronData(chronData: ChronData[]): void;
    addChronData(chronData: ChronData): void;
    getCollectionName(): string | null;
    setCollectionName(collectionName: string): void;
    getCollectionYear(): string | null;
    setCollectionYear(collectionYear: string): void;
    getCompilationNest(): string | null;
    setCompilationNest(compilationNest: string): void;
    getContributors(): Person[];
    setContributors(contributors: Person[]): void;
    addContributor(contributors: Person): void;
    getCreators(): Person[];
    setCreators(creators: Person[]): void;
    addCreator(creators: Person): void;
    getDataSource(): string | null;
    setDataSource(dataSource: string): void;
    getDatasetId(): string | null;
    setDatasetId(datasetId: string): void;
    getFundings(): Funding[];
    setFundings(fundings: Funding[]): void;
    addFunding(fundings: Funding): void;
    getInvestigators(): Person[];
    setInvestigators(investigators: Person[]): void;
    addInvestigator(investigators: Person): void;
    getLocation(): Location | null;
    setLocation(location: Location): void;
    getName(): string | null;
    setName(name: string): void;
    getNotes(): string | null;
    setNotes(notes: string): void;
    getOriginalDataUrl(): string | null;
    setOriginalDataUrl(originalDataUrl: string): void;
    getPaleoData(): PaleoData[];
    setPaleoData(paleoData: PaleoData[]): void;
    addPaleoData(paleoData: PaleoData): void;
    getPublications(): Publication[];
    setPublications(publications: Publication[]): void;
    addPublication(publications: Publication): void;
    getSpreadsheetLink(): string | null;
    setSpreadsheetLink(spreadsheetLink: string): void;
    getVersion(): string | null;
    setVersion(version: string): void;
}

declare class LiPD extends RDFGraph {
    /**
     * The LiPD class describes a LiPD (Linked Paleo Data) object. It contains an RDF Graph which is serialization
     * of the LiPD data into an RDF graph containing terms from the LiPD Ontology.
     * @param store Optional N3 store to initialize with
     * @param quiet Whether to suppress log messages
     * @param endpoint Optional SPARQL endpoint URL
     * @param auth Optional authentication credentials for the SPARQL endpoint
     */
    constructor(store?: Store, quiet?: boolean, endpoint?: string, auth?: AuthCredentials);
    /**
     * Load LiPD files from a directory
     * @param dirPath Path to the directory containing LiPD files
     * @param standardize Whether to standardize the data
     * @param addLabels Whether to add labels
     */
    loadFromDir(dirPath: string, standardize?: boolean, addLabels?: boolean): Promise<void>;
    /**
     * Load LiPD files
     * @param lipdFiles Array of paths to LiPD files (can also be URLs)
     * @param standardize Whether to standardize the data
     * @param addLabels Whether to add labels
     */
    load(lipdFiles: string | string[], standardize?: boolean, addLabels?: boolean): Promise<void>;
    /**
     * Load LiPD file from a File object (for browser file input)
     * @param file File object from HTML5 file input
     * @param standardize Whether to standardize the data
     * @param addLabels Whether to add labels
     */
    loadFromFile(file: File, standardize?: boolean, addLabels?: boolean): Promise<void>;
    /**
     * Get LiPD JSON for a dataset
     * @param dsname Dataset ID
     * @returns LiPD JSON
     */
    getLipd(dsname: string): any;
    /**
     * Create LiPD file for a dataset
     * @param dsname Dataset ID
     * @param lipdFile Path to LiPD file
     * @returns LiPD JSON
     */
    createLipd(dsname: string, lipdFile: string): Promise<any>;
    /**
     * Get dataset(s) from the graph and returns the popped LiPD object
     * @param dsnames Dataset name(s) to get
     * @returns LiPD object with the retrieved dataset(s)
     */
    get(dsnames: string | string[]): LiPD;
    /**
     * Pop dataset(s) from the graph and returns the popped LiPD object
     * @param dsnames Dataset name(s) to be popped
     * @returns LiPD object with the popped dataset(s)
     */
    pop(dsnames: string | string[]): LiPD;
    /**
     * Remove dataset(s) from the graph
     * @param dsnames Dataset name(s) to be removed
     */
    remove(dsnames: string | string[]): void;
    /**
     * Get all dataset names
     * @returns List of dataset names
     */
    getAllDatasetNames(): Promise<string[]>;
    /**
     * Get all dataset IDs
     * @returns List of dataset IDs
     */
    getAllDatasetIds(): Promise<string[]>;
    /**
     * Get all archive types
     * @returns List of archive types
     */
    getAllArchiveTypes(): Promise<string[]>;
    /**
     * Get all datasets as Dataset class instances
     * @returns List of Dataset objects
     *
     * @example
     * ```typescript
     * const lipd = new LiPD();
     * lipd.load('path/to/file.lpd').then(() => {
     *   lipd.getDatasets().then(datasets => {
     *     // Work with dataset objects
     *     console.log(datasets[0].getName());
     *   });
     * });
     * ```
     */
    getDatasets(): Promise<Dataset[]>;
    /**
     * Loads instances of Dataset class into the LiPD graph
     * @param datasets List of Dataset objects
     *
     * @example
     * ```typescript
     * // Load datasets from one LiPD object to another
     * const lipd1 = new LiPD();
     * lipd1.load('path/to/file.lpd').then(() => {
     *   lipd1.getDatasets().then(datasets => {
     *     // Modify datasets if needed
     *
     *     // Create a new LiPD instance and load the datasets
     *     const lipd2 = new LiPD();
     *     lipd2.loadDatasets(datasets);
     *   });
     * });
     * ```
     */
    loadDatasets(datasets: Dataset[]): void;
    /**
     * Generate a unique ID with a given prefix
     * @param prefix Prefix for the ID (default: 'PYD')
     * @returns Unique formatted ID
     * @private
     */
    private _generateUniqueId;
    /**
     * Fix missing IDs in a dataset
     * @param ds Dataset to fix
     * @private
     */
    private _fixMissingIds;
    /**
     * Convert the LiPD object to a LiPDSeries object
     * @returns LiPDSeries object
     */
    toLipdSeries(): LiPDSeries;
    /**
     * Filter datasets by name
     * @param datasetName Dataset name to filter by
     * @returns New LiPD object with filtered datasets
     */
    filterByDatasetName(datasetName: string): Promise<LiPD>;
    /**
     * Filter datasets by compilation name
     * @param compilationName Compilation name to filter by
     * @returns New LiPD object with filtered datasets
     */
    filterByCompilationName(compilationName: string): Promise<LiPD>;
    serialize(type?: string): Promise<string>;
    /**
     * Filter datasets by time interval
     * @param timeBound Minimum and maximum age values
     * @param timeBoundType Type of querying to perform
     * @param recordLength Minimum record length
     * @returns New LiPD object with filtered datasets
     */
    filterByTime(timeBound: [number, number], timeBoundType?: 'any' | 'entire' | 'entirely', recordLength?: number): Promise<LiPD>;
    /**
     * Updates local LiPD Graph for datasets to remote endpoint
     * @param dsnames Array of dataset names
     * @param batchSize Number of quads to include in each update batch (default: 100)
     *
     * @example
     * ```typescript
     * // Update datasets to remote endpoint
     * const lipd = new LiPD();
     * lipd.setEndpoint("https://linkedearth.graphdb.mint.isi.edu/repositories/LiPDVerse-dynamic");
     * // Set authentication if needed
     * lipd.setAuth({ username: "user", password: "pass" });
     * lipd.updateRemoteDatasets(["MyDataset1", "MyDataset2"], 100);
     * ```
     */
    updateRemoteDatasets(dsnames: string | string[], batchSize?: number): Promise<void>;
    /**
     * Convert an array of quads to an N-Quads string
     */
    private _quadsToNQuads;
    /**
     * Derive the /statements endpoint from this.endpoint
     */
    private _getStatementsEndpoint;
    /**
     * Builds an INSERT DATA query for a batch of quads
     * @param quads Array of quads to insert
     * @param graphUri URI of the graph to insert into
     * @returns SPARQL INSERT query
     * @private
     */
    private _buildInsertQuery;
    /**
     * Loads remote datasets into cache if a remote endpoint is set
     * @param dsnames Array of dataset names
     * @param loadDefaultGraph Whether to load the default graph (default: true)
     *
     * @example
     * ```typescript
     * // Fetch LiPD data from remote RDF Graph
     * const lipd = new LiPD();
     * lipd.setEndpoint("https://linkedearth.graphdb.mint.isi.edu/repositories/LiPDVerse-dynamic");
     * // Set authentication if needed
     * lipd.setAuth({ username: "user", password: "pass" });
     * lipd.loadRemoteDatasets(["Ocn-MadangLagoonPapuaNewGuinea.Kuhnert.2001", "MD98_2181.Stott.2007"]);
     * lipd.getAllDatasetNames().then(names => console.log(names));
     * ```
     */
    loadRemoteDatasets(dsnames: string | string[], loadDefaultGraph?: boolean): Promise<void>;
    /**
     * Build a full LiPD (BagIt) archive entirely in-memory – browser-safe
     * @param dsname Dataset name to export
     * @param opts Options { includeCsv?: boolean }
     * @returns Blob in browsers, Buffer in Node
     */
    createLipdBrowser(dsname: string, opts?: {
        includeCsv?: boolean;
    }): Promise<Blob | Uint8Array>;
    private _generateCsvData;
    private _tableToCsv;
    /**
     * Remove values from variables in a LiPD JSON object.
     * This is necessary because values are typically stored in CSV files,
     * not directly in the metadata.jsonld file.
     * @param lipdJson The LiPD JSON object to process.
     * @returns A new LiPD JSON object with values removed from variables.
     * @private
     */
    private _removeValuesFromVariables;
    /**
     * Helper to check if an object looks like a variable object.
     * Variables typically have properties like variableId, variableName, values, units, etc.
     * @param obj The object to check.
     * @returns True if it looks like a variable object, false otherwise.
     * @private
     */
    private _isVariableObject;
}

/**
 * Log levels enum
 */
declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3
}
/**
 * Logger class for handling logs in the extension
 */
declare class Logger {
    private static instance;
    private outputChannel;
    private logLevel;
    /**
     * Get the singleton instance of Logger
     */
    static getInstance(): Logger;
    /**
     * Private constructor to enforce singleton pattern
     */
    private constructor();
    /**
     * Initialize the logger with an output channel
     * @param channel VS Code output channel
     * @param level Initial log level
     */
    initialize(channel?: any, level?: LogLevel): void;
    /**
     * Set the current log level
     * @param level Log level to set
     */
    setLogLevel(level: LogLevel): void;
    /**
     * Get the current log level
     * @returns Current log level
     */
    getLogLevel(): LogLevel;
    /**
     * Log a debug message
     * @param message Message to log
     * @param args Additional arguments for formatting
     */
    debug(message: string, ...args: any[]): void;
    /**
     * Log an info message
     * @param message Message to log
     * @param args Additional arguments for formatting
     */
    info(message: string, ...args: any[]): void;
    /**
     * Log a warning message
     * @param message Message to log
     * @param args Additional arguments for formatting
     */
    warn(message: string, ...args: any[]): void;
    /**
     * Log an error message
     * @param message Message to log
     * @param args Additional arguments for formatting
     */
    error(message: string, ...args: any[]): void;
    /**
     * Show the output channel
     */
    show(): void;
    /**
     * Internal log method
     * @param level Log level as string
     * @param message Message to log
     * @param args Additional arguments for formatting
     */
    private log;
    /**
     * Format a message with arguments (simple printf-like format)
     * @param message Base message with placeholders
     * @param args Arguments to insert
     * @returns Formatted message
     */
    private formatMessage;
}

interface SynonymEntry {
    id: string;
    label: string;
}
interface SynonymCollection {
    [key: string]: SynonymEntry;
}
interface ArchiveTypes {
    ArchiveType?: SynonymCollection;
}
interface InterpretationTypes {
    InterpretationVariable?: SynonymCollection;
    InterpretationSeasonality?: SynonymCollection;
}
interface VariableTypes {
    PaleoVariable?: SynonymCollection;
    ChronVariable?: SynonymCollection;
}
interface UnitTypes {
    PaleoUnit?: SynonymCollection;
    ChronUnit?: SynonymCollection;
}
interface ProxyTypes {
    PaleoProxy?: SynonymCollection;
    PaleoProxyGeneral?: SynonymCollection;
    ChronProxy?: SynonymCollection;
    ChronProxyGeneral?: SynonymCollection;
}
interface SynonymsType {
    ARCHIVES: ArchiveTypes;
    INTERPRETATION: InterpretationTypes;
    VARIABLES?: VariableTypes;
    PROXIES?: ProxyTypes;
    UNITS?: UnitTypes;
}

declare const SCHEMA: {
    Dataset: {
        '@id': string[];
        '@toJson_pre': string[];
        datasetId: {
            name: string;
        };
        dataSetName: {
            name: string;
            alternates: string[];
        };
        dataSource: {
            name: string;
        };
        originalDataURL: {
            name: string;
            alternates: string[];
        };
        dataContributor: {
            name: string;
            schema: string;
            alternates: string[];
            fromJson: string;
            multiple: boolean;
        };
        archiveType: {
            name: string;
            alternates: string[];
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        changelog: {
            name: string;
            schema: string;
            multiple: boolean;
        };
        notes: {
            name: string;
        };
        collectionName: {
            name: string;
            alternates: string[];
        };
        collectionYear: {
            name: string;
        };
        investigator: {
            name: string;
            alternates: string[];
            schema: string;
            multiple: boolean;
            fromJson: string;
        };
        creator: {
            name: string;
            schema: string;
            multiple: boolean;
            fromJson: string;
        };
        funding: {
            name: string;
            multiple: boolean;
            schema: string;
        };
        pub: {
            name: string;
            multiple: boolean;
            schema: string;
        };
        geo: {
            name: string;
            schema: string;
            fromJson: string;
            toJson: string;
        };
        paleoData: {
            name: string;
            multiple: boolean;
            schema: string;
        };
        chronData: {
            name: string;
            multiple: boolean;
            schema: string;
        };
        googleSpreadSheetKey: {
            name: string;
            fromJson: string;
            toJson: string;
        };
        dataSetVersion: {
            name: string;
        };
        compilation_nest: {
            name: string;
            alternates: string[];
        };
    };
    Compilation: {
        '@id': string[];
        compilationName: {
            name: string;
        };
        compilationVersion: {
            name: string;
            multiple: boolean;
        };
    };
    ChangeLog: {
        '@id': string[];
        '@category': string;
        curator: {
            name: string;
        };
        version: {
            name: string;
        };
        lastVersion: {
            name: string;
        };
        timestamp: {
            name: string;
        };
        changes: {
            name: string;
            multiple: boolean;
            type: string;
            schema: string;
            fromJson: string;
            toJson: string;
        };
        notes: {
            name: string;
        };
    };
    Change: {
        '@id': string[];
        name: {
            name: string;
        };
        notes: {
            name: string;
            multiple: boolean;
        };
    };
    Funding: {
        '@id': string[];
        agency: {
            name: string;
            alternates: string[];
        };
        grant: {
            name: string;
            multiple: boolean;
            alternates: string[];
        };
        country: {
            name: string;
            alternates: string[];
        };
        investigator: {
            name: string;
            schema: string;
            multiple: boolean;
            fromJson: string;
        };
    };
    Publication: {
        '@id': string[];
        title: {
            name: string;
        };
        abstract: {
            name: string;
        };
        institution: {
            name: string;
        };
        issue: {
            name: string;
        };
        journal: {
            name: string;
        };
        volume: {
            name: string;
            type: string;
        };
        pages: {
            name: string;
        };
        year: {
            name: string;
            type: string;
            alternates: string[];
        };
        publisher: {
            name: string;
        };
        report: {
            name: string;
        };
        type: {
            name: string;
        };
        citation: {
            name: string;
            type: string;
        };
        citeKey: {
            name: string;
            type: string;
        };
        url: {
            name: string;
            alternates: string[];
            multiple: boolean;
        };
        dataUrl: {
            name: string;
            alternates: string[];
            multiple: boolean;
        };
        doi: {
            name: string;
            type: string;
            alternates: string[];
        };
        author: {
            name: string;
            alternates: string[];
            schema: string;
            multiple: boolean;
            fromJson: string;
        };
        firstauthor: {
            name: string;
            alternates: string[];
            schema: string;
            fromJson: string;
        };
    };
    PaleoData: {
        '@id': string[];
        paleoDataName: {
            name: string;
        };
        measurementTable: {
            alternates: string[];
            name: string;
            multiple: boolean;
            schema: string;
        };
        model: {
            alternates: string[];
            name: string;
            multiple: boolean;
            schema: string;
        };
    };
    ChronData: {
        '@id': string[];
        measurementTable: {
            alternates: string[];
            name: string;
            multiple: boolean;
            schema: string;
        };
        model: {
            alternates: string[];
            name: string;
            multiple: boolean;
            schema: string;
        };
    };
    Model: {
        '@id': string[];
        method: {
            name: string;
        };
        summaryTable: {
            name: string;
            multiple: boolean;
            schema: string;
        };
        ensembleTable: {
            name: string;
            multiple: boolean;
            schema: string;
        };
        distributionTable: {
            name: string;
            multiple: boolean;
            schema: string;
        };
    };
    DataTable: {
        '@id': string[];
        toJson: string[];
        fromJson: string[];
        filename: {
            name: string;
        };
        columns: {
            name: string;
            multiple: boolean;
            schema: string;
        };
        missingValue: {
            name: string;
        };
    };
    Variable: {
        '@id': string[];
        '@fromJson': string[];
        '@toJson_pre': string[];
        '@toJson': string[];
        number: {
            name: string;
            type: string;
        };
        TSid: {
            name: string;
            alternates: string[];
        };
        variableName: {
            name: string;
        };
        variableType: {
            name: string;
        };
        archiveType: {
            name: string;
            alternates: string[];
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        units: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        missingValue: {
            name: string;
        };
        hasMaxValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        hasMinValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        hasMeanValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        hasMedianValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        description: {
            name: string;
        };
        isPrimary: {
            name: string;
            type: string;
        };
        isComposite: {
            name: string;
            type: string;
        };
        measurementInstrument: {
            name: string;
            type: string;
            category: string;
        };
        calibration: {
            name: string;
            schema: string;
            type: string;
            multiple: boolean;
        };
        interpretation: {
            name: string;
            schema: string;
            category: string;
            type: string;
            multiple: boolean;
        };
        resolution: {
            name: string;
            category: string;
            schema: string;
            type: string;
            alternates: string[];
        };
        physicalSample: {
            name: string;
            schema: string;
            category: string;
            alternates: string[];
            type: string;
            multiple: boolean;
        };
        uncertainty: {
            name: string;
        };
        uncertaintyAnalytical: {
            name: string;
        };
        uncertaintyReproducibility: {
            name: string;
        };
        proxy: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        proxyGeneral: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        inCompilationBeta: {
            name: string;
            schema: string;
            category: string;
            type: string;
            multiple: boolean;
        };
        notes: {
            name: string;
            alternates: string[];
        };
        hasValues: {
            type: string;
        };
        foundInTable: {
            type: string;
        };
        foundInDataset: {
            type: string;
        };
        hasStandardVariable: {
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
    };
    PhysicalSample: {
        hasidentifier: {
            name: string;
        };
        hasname: {
            name: string;
        };
        housedat: {
            name: string;
        };
    };
    Resolution: {
        '@id': string[];
        '@toJson_pre': string[];
        hasMaxValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        hasMinValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        hasMeanValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        hasMedianValue: {
            name: string;
            alternates: string[];
            type: string;
        };
        units: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
    };
    Location: {
        '@id': string[];
        coordinates: {
            type: string;
            class_type: string;
        };
        coordinatesFor: {
            type: string;
        };
        type: {
            name: string;
        };
        continent: {
            name: string;
        };
        country: {
            name: string;
        };
        countryOcean: {
            name: string;
        };
        description: {
            name: string;
        };
        elevation: {
            name: string;
        };
        geometryType: {
            name: string;
        };
        latitude: {
            name: string;
        };
        longitude: {
            name: string;
        };
        locationName: {
            name: string;
            alternates: string[];
        };
        ocean: {
            name: string;
            alternates: string[];
        };
        siteName: {
            name: string;
        };
        notes: {
            name: string;
        };
    };
    Interpretation: {
        '@id': string[];
        '@fromJson': string[];
        '@toJson_pre': string[];
        variable: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        variableGeneral: {
            name: string;
            alternates: string[];
        };
        variableGeneralDirection: {
            name: string;
            alternates: string[];
        };
        variableDetail: {
            name: string;
            alternates: string[];
        };
        seasonality: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        seasonalityOriginal: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        seasonalityGeneral: {
            name: string;
            type: string;
            synonyms: SynonymCollection | undefined;
            class_range: string;
            skip_auto_convert_to_json: boolean;
        };
        notes: {
            name: string;
        };
        rank: {
            name: string;
        };
        basis: {
            name: string;
        };
        scope: {
            name: string;
        };
        mathematicalRelation: {
            name: string;
        };
        direction: {
            name: string;
            alternates: string[];
        };
        isLocal: {
            name: string;
            alternates: string[];
        };
    };
    Calibration: {
        '@id': string[];
        '@fromJson': string[];
        '@toJson': string[];
        datasetRange: {
            name: string;
        };
        doi: {
            name: string;
            alternates: string[];
        };
        equation: {
            name: string;
            alternates: string[];
        };
        equationIntercept: {
            name: string;
        };
        equationR2: {
            name: string;
        };
        equationSlope: {
            name: string;
        };
        equationSlopeUncertainty: {
            name: string;
        };
        method: {
            name: string;
        };
        methodDetail: {
            name: string;
        };
        proxyDataset: {
            name: string;
            alternates: string[];
        };
        targetDataset: {
            name: string;
            alternates: string[];
        };
        hasSeasonality: {
            name: string;
            alternates: string[];
        };
        notes: {
            name: string;
            alternates: string[];
        };
        uncertainty: {
            name: string;
            alternates: string[];
        };
    };
    Person: {
        '@id': string[];
        name: {
            name: string;
        };
    };
};

declare const SYNONYMS: SynonymsType;
declare const RSYNONYMS: {
    [id: string]: string;
};

export { ArchiveType, ArchiveTypeConstants, ArchiveTypes, Calibration, Change, ChangeLog, ChronData, Compilation, DataTable, Dataset, Funding, Interpretation, InterpretationSeasonality, InterpretationSeasonalityConstants, InterpretationTypes, InterpretationVariable, InterpretationVariableConstants, LiPD, LiPDSeries, Location, LogLevel, Logger, Model, PaleoData, PaleoProxy, PaleoProxyConstants, PaleoProxyGeneral, PaleoProxyGeneralConstants, PaleoUnit, PaleoUnitConstants, PaleoVariable, PaleoVariableConstants, Person, PhysicalSample, ProxyTypes, Publication, RSYNONYMS, Resolution, SCHEMA, SYNONYMS, SynonymCollection, SynonymEntry, SynonymsType, UnitTypes, Variable, VariableTypes };
