import { Option } from '@fable-org/fable-library-js/Option.js';
import { OntologyAnnotation } from './OntologyAnnotation.fs.js';
import { Comment$ } from './Comment.fs.js';
import { int32 } from '@fable-org/fable-library-js/Int32.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
export declare class Publication {
    _pubMedID: Option<string>;
    _doi: Option<string>;
    _authors: Option<string>;
    _title: Option<string>;
    _status: Option<OntologyAnnotation>;
    _comments: Comment$[];
    constructor(pubMedID?: string, doi?: string, authors?: string, title?: string, status?: OntologyAnnotation, comments?: Comment$[]);
    get PubMedID(): string | undefined;
    set PubMedID(pubMedID: Option<string>);
    get DOI(): string | undefined;
    set DOI(doi: Option<string>);
    get Authors(): string | undefined;
    set Authors(authors: Option<string>);
    get Title(): string | undefined;
    set Title(title: Option<string>);
    get Status(): OntologyAnnotation | undefined;
    set Status(status: Option<OntologyAnnotation>);
    get Comments(): Comment$[];
    set Comments(comments: Comment$[]);
    static make(pubMedID: Option<string>, doi: Option<string>, authors: Option<string>, title: Option<string>, status: Option<OntologyAnnotation>, comments: Comment$[]): Publication;
    static create(pubMedID?: string, doi?: string, authors?: string, title?: string, status?: OntologyAnnotation, comments?: Comment$[]): Publication;
    static empty(): Publication;
    Copy(): Publication;
    GetHashCode(): int32;
    Equals(obj: any): boolean;
    toString(): string;
}
export declare function Publication_$reflection(): TypeInfo;
export declare function Publication_$ctor_Z645CED36(pubMedID?: string, doi?: string, authors?: string, title?: string, status?: OntologyAnnotation, comments?: Comment$[]): Publication;
//# sourceMappingURL=Publication.fs.d.ts.map