import { Record } from '@fable-org/fable-library-js/Types.js';
import { Option } from '@fable-org/fable-library-js/Option.js';
import { OntologyAnnotation } from '../OntologyAnnotation.fs.js';
import { IComparable, IEquatable } from '@fable-org/fable-library-js/Util.js';
import { IISAPrintable } from '../Helper/Printer.fs.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
import { Comment$ } from '../Comment.fs.js';
export declare class MaterialAttribute extends Record implements IEquatable<MaterialAttribute>, IComparable<MaterialAttribute>, IISAPrintable {
    readonly ID: Option<string>;
    readonly CharacteristicType: Option<OntologyAnnotation>;
    constructor(ID: Option<string>, CharacteristicType: Option<OntologyAnnotation>);
    Print(): string;
    PrintCompact(): string;
}
export declare function MaterialAttribute_$reflection(): TypeInfo;
export declare function MaterialAttribute_make(id: Option<string>, characteristicType: Option<OntologyAnnotation>): MaterialAttribute;
export declare function MaterialAttribute_create_A220A8A(Id?: string, CharacteristicType?: OntologyAnnotation): MaterialAttribute;
export declare function MaterialAttribute_get_empty(): MaterialAttribute;
/**
 * Create a ISAJson MaterialAttribute from ISATab string entries
 */
export declare function MaterialAttribute_fromString_5980DC03(term: string, source: string, accession: string, comments?: Comment$[]): MaterialAttribute;
/**
 * Get ISATab string entries from an ISAJson MaterialAttribute object
 */
export declare function MaterialAttribute_toStringObject_Z1E3B85DD(ma: MaterialAttribute): {
    TermAccessionNumber: string;
    TermName: string;
    TermSourceREF: string;
};
/**
 * Returns the name of the characteristic as string
 */
export declare function MaterialAttribute__get_NameText(this$: MaterialAttribute): string;
/**
 * Returns the name of the characteristic as string
 */
export declare function MaterialAttribute__get_TryNameText(this$: MaterialAttribute): Option<string>;
export declare function MaterialAttribute__MapCategory_658CFBF6(this$: MaterialAttribute, f: ((arg0: OntologyAnnotation) => OntologyAnnotation)): MaterialAttribute;
export declare function MaterialAttribute__SetCategory_ZDED3A0F(this$: MaterialAttribute, c: OntologyAnnotation): MaterialAttribute;
/**
 * Returns the name of the characteristic as string if it exists
 */
export declare function MaterialAttribute_tryGetNameText_Z1E3B85DD(ma: MaterialAttribute): string;
/**
 * Returns the name of the characteristic as string
 */
export declare function MaterialAttribute_getNameText_Z1E3B85DD(ma: MaterialAttribute): Option<string>;
/**
 * Returns true if the given name matches the name of the characteristic
 */
export declare function MaterialAttribute_nameEqualsString(name: string, ma: MaterialAttribute): boolean;
//# sourceMappingURL=MaterialAttribute.fs.d.ts.map