import { Option } from '@fable-org/fable-library-js/Option.js';
import { OntologyAnnotation } from '../OntologyAnnotation.fs.js';
import { Comment$ } from '../Comment.fs.js';
import { Record } from '@fable-org/fable-library-js/Types.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';
export declare class ProtocolParameter extends Record implements IEquatable<ProtocolParameter>, IComparable<ProtocolParameter>, IISAPrintable {
    readonly ID: Option<string>;
    readonly ParameterName: Option<OntologyAnnotation>;
    constructor(ID: Option<string>, ParameterName: Option<OntologyAnnotation>);
    static make(id: Option<string>, parameterName: Option<OntologyAnnotation>): ProtocolParameter;
    static create(Id?: string, ParameterName?: OntologyAnnotation): ProtocolParameter;
    static get empty(): ProtocolParameter;
    static fromString(term: string, source: string, accession: string, comments?: Comment$[]): ProtocolParameter;
    static toStringObject(pp: ProtocolParameter): {
        TermAccessionNumber: string;
        TermName: string;
        TermSourceREF: string;
    };
    get NameText(): string;
    get TryNameText(): string | undefined;
    MapCategory(f: ((arg0: OntologyAnnotation) => OntologyAnnotation)): ProtocolParameter;
    SetCategory(c: OntologyAnnotation): ProtocolParameter;
    static tryGetNameText(pp: ProtocolParameter): Option<string>;
    static getNameText(pp: ProtocolParameter): string;
    static nameEqualsString(name: string, pp: ProtocolParameter): boolean;
    Print(): string;
    PrintCompact(): string;
}
export declare function ProtocolParameter_$reflection(): TypeInfo;
//# sourceMappingURL=ProtocolParameter.fs.d.ts.map