import { Record } from '@fable-org/fable-library-js/Types.js';
import { FSharpList } from '@fable-org/fable-library-js/List.js';
import { Remark, Comment$ } from '../../ARCtrl.Core.3.0.0-beta.12/Comment.fs.js';
import { IEnumerator, IEquatable } from '@fable-org/fable-library-js/Util.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
import { SparseTable } from './SparseTable.fs.js';
import { int32 } from '@fable-org/fable-library-js/Int32.js';
import { Option } from '@fable-org/fable-library-js/Option.js';
import { ArcAssay, ArcStudy } from '../../ARCtrl.Core.3.0.0-beta.12/ArcTypes.fs.js';
import { Publication } from '../../ARCtrl.Core.3.0.0-beta.12/Publication.fs.js';
import { Person } from '../../ARCtrl.Core.3.0.0-beta.12/Person.fs.js';
import { OntologyAnnotation } from '../../ARCtrl.Core.3.0.0-beta.12/OntologyAnnotation.fs.js';
import { Factor } from '../../ARCtrl.Core.3.0.0-beta.12/Process/Factor.fs.js';
import { Protocol } from '../../ARCtrl.Core.3.0.0-beta.12/Process/Protocol.fs.js';
export declare class StudyInfo extends Record implements IEquatable<StudyInfo> {
    readonly Identifier: string;
    readonly Title: string;
    readonly Description: string;
    readonly SubmissionDate: string;
    readonly PublicReleaseDate: string;
    readonly FileName: string;
    readonly Comments: FSharpList<Comment$>;
    constructor(Identifier: string, Title: string, Description: string, SubmissionDate: string, PublicReleaseDate: string, FileName: string, Comments: FSharpList<Comment$>);
}
export declare function StudyInfo_$reflection(): TypeInfo;
export declare function StudyInfo_create(identifier: string, title: string, description: string, submissionDate: string, publicReleaseDate: string, fileName: string, comments: FSharpList<Comment$>): StudyInfo;
export declare function StudyInfo_get_Labels(): FSharpList<string>;
export declare function StudyInfo_FromSparseTable_3ECCA699(matrix: SparseTable): StudyInfo;
export declare function StudyInfo_ToSparseTable_1680536E(study: ArcStudy): SparseTable;
export declare function StudyInfo_fromRows(lineNumber: int32, rows: IEnumerator<Iterable<[int32, string]>>): [Option<string>, int32, FSharpList<Remark>, StudyInfo];
export declare function StudyInfo_toRows_1680536E(study: ArcStudy): Iterable<Iterable<[int32, string]>>;
/**
 * FACTORS AND PROTOCOLS ARE NOT USED ANYMORE, Lukas, 21.03.24
 */
export declare function fromParts(studyInfo: StudyInfo, designDescriptors: FSharpList<OntologyAnnotation>, publications: FSharpList<Publication>, factors: FSharpList<Factor>, assays: FSharpList<ArcAssay>, protocols: FSharpList<Protocol>, contacts: FSharpList<Person>): Option<[ArcStudy, FSharpList<ArcAssay>]>;
export declare function fromRows(lineNumber: int32, en: IEnumerator<Iterable<[int32, string]>>): [Option<string>, int32, FSharpList<Remark>, Option<[ArcStudy, FSharpList<ArcAssay>]>];
export declare function toRows(study: ArcStudy, assays: Option<FSharpList<ArcAssay>>): Iterable<Iterable<[int32, string]>>;
//# sourceMappingURL=Study.fs.d.ts.map