import { Option } from '@fable-org/fable-library-js/Option.js';
import { Comment$ } from './Comment.fs.js';
import { int32 } from '@fable-org/fable-library-js/Int32.js';
import { IISAPrintable } from './Helper/Printer.fs.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
export declare class OntologyAnnotation implements IISAPrintable {
    _name: Option<string>;
    _termSourceREF: Option<string>;
    _termAccessionNumber: Option<string>;
    _comments: Comment$[];
    _tanInfo: Option<{
        IDSpace: string;
        LocalID: string;
    }>;
    constructor(name?: string, tsr?: string, tan?: string, comments?: Comment$[]);
    get Name(): string | undefined;
    set Name(name: Option<string>);
    get TermSourceREF(): string | undefined;
    set TermSourceREF(tsr: Option<string>);
    get TermAccessionNumber(): string | undefined;
    set TermAccessionNumber(tan: Option<string>);
    get Comments(): Comment$[];
    set Comments(comments: Comment$[]);
    static make(name: Option<string>, tsr: Option<string>, tan: Option<string>, comments: Comment$[]): OntologyAnnotation;
    static create(name?: string, tsr?: string, tan?: string, comments?: Comment$[]): OntologyAnnotation;
    get TANInfo(): {
        IDSpace: string;
        LocalID: string;
    } | undefined;
    get NameText(): string;
    static createUriAnnotation(termSourceRef: string, localTAN: string): string;
    static fromTermAnnotation(tan: string, name?: string): OntologyAnnotation;
    get TermAccessionShort(): string;
    get TermAccessionOntobeeUrl(): string;
    get TermAccessionAndOntobeeUrlIfShort(): string;
    static toStringObject(oa: OntologyAnnotation, asOntobeePurlUrlIfShort?: boolean): {
        TermAccessionNumber: string;
        TermName: string;
        TermSourceREF: string;
    };
    toString(): string;
    isEmpty(): boolean;
    GetHashCode(): int32;
    Equals(obj: any): boolean;
    Copy(): OntologyAnnotation;
    static computeTanInfo(tan?: string, tsr?: string): Option<{
        IDSpace: string;
        LocalID: string;
    }>;
    Print(): string;
    PrintCompact(): string;
    CompareTo(obj: any): int32;
    recomputeTanInfo(): void;
}
export declare function OntologyAnnotation_$reflection(): TypeInfo;
export declare function OntologyAnnotation_$ctor_Z54349580(name?: string, tsr?: string, tan?: string, comments?: Comment$[]): OntologyAnnotation;
//# sourceMappingURL=OntologyAnnotation.fs.d.ts.map