import { IOntologyAPIv3 } from '../Shared/Shared.fs.js';
import { int32 } from '@fable-org/fable-library-js/Int32.js';
import { Option } from '@fable-org/fable-library-js/Option.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
export declare const SwateApi: IOntologyAPIv3;
export interface TIBTypes_Term {
    description: string[];
    hasChildren?: boolean;
    iri: string;
    is_obsolete?: boolean;
    label: string;
    lang: string;
    obo_id: string;
    ontology_iri: string;
    ontology_name: string;
    ontology_prefix?: string;
    short_form: string;
    synonyms: string[];
    term_replaced_by?: string;
}
export interface TIBTypes_TermArray {
    terms: TIBTypes_Term[];
}
export interface TIBTypes_TermApi {
    _embedded?: TIBTypes_TermArray;
}
export interface TIBTypes_SearchResults {
    docs: TIBTypes_Term[];
    numFound: int32;
    start: int32;
}
export interface TIBTypes_SearchApi {
    response: TIBTypes_SearchResults;
}
export interface TIBTypes_SchemaValuesApi {
    content: string[];
    numberOfElements: int32;
}
/**
 * This function is used to transform TIB term type into the Swate compatible Term type.
 */
export declare function Swate_Components_Api_TIBTypes_SearchApi__SearchApi_ToMyTerm(this$: TIBTypes_SearchApi): Term[];
export declare class TIBApi {
    constructor();
    static tryGetIRIFromOboId(oboId: string): Promise<Option<string>>;
    static search(q: string, rows?: int32, obsoletes?: boolean, queryFields?: string[], childrenOf?: string, collection?: string): Promise<Term[]>;
    static defaultSearch(q: string, rows?: int32, collection?: string): Promise<Term[]>;
    static searchChildrenOf(q: string, parentOboId: string, rows?: int32, collection?: string): Promise<Term[]>;
    static searchAllChildrenOf(parentOboId: string, rows?: int32, collection?: string): Promise<Term[]>;
    static getCollections(): Promise<TIBTypes_SchemaValuesApi>;
}
export declare function TIBApi_$reflection(): TypeInfo;
//# sourceMappingURL=Api.fs.d.ts.map