import { Option } from '@fable-org/fable-library-js/Option.js';
import { DataFile_$union } from './DataFile.fs.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 function DataAux_nameFromPathAndSelector(path: string, selector: string): string;
export declare function DataAux_pathAndSelectorFromName(name: string): [string, Option<string>];
export declare class Data implements IISAPrintable {
    _id: Option<string>;
    _selector: Option<string>;
    _filePath: Option<string>;
    _dataType: Option<DataFile_$union>;
    _format: Option<string>;
    _selectorFormat: Option<string>;
    _comments: Comment$[];
    constructor(id?: string, name?: string, dataType?: DataFile_$union, format?: string, selectorFormat?: string, comments?: Comment$[]);
    get ID(): string | undefined;
    set ID(id: Option<string>);
    get Name(): string | undefined;
    set Name(name: Option<string>);
    get FilePath(): string | undefined;
    set FilePath(filePath: Option<string>);
    get Selector(): string | undefined;
    set Selector(selector: Option<string>);
    get DataType(): DataFile_$union | undefined;
    set DataType(dataType: Option<DataFile_$union>);
    get Format(): string | undefined;
    set Format(format: Option<string>);
    get SelectorFormat(): string | undefined;
    set SelectorFormat(selectorFormat: Option<string>);
    get Comments(): Comment$[];
    set Comments(comments: Comment$[]);
    static make(id: Option<string>, name: Option<string>, dataType: Option<DataFile_$union>, format: Option<string>, selectorFormat: Option<string>, comments: Option<Comment$[]>): Data;
    static create(Id?: string, Name?: string, DataType?: DataFile_$union, Format?: string, SelectorFormat?: string, Comments?: Comment$[]): Data;
    static get empty(): Data;
    get NameText(): string;
    GetAbsolutePathBy(f: ((arg0: string) => string), checkExistenceFromRoot?: ((arg0: string) => boolean)): string;
    GetAbsolutePathForAssay(assayIdentifier: string, checkExistenceFromRoot?: ((arg0: string) => boolean)): string;
    GetAbsolutePathForStudy(studyIdentifier: string, checkExistenceFromRoot?: ((arg0: string) => boolean)): string;
    Copy(): Data;
    GetHashCode(): int32;
    Equals(obj: any): boolean;
    Print(): string;
    PrintCompact(): string;
}
export declare function Data_$reflection(): TypeInfo;
export declare function Data_$ctor_5909441C(id?: string, name?: string, dataType?: DataFile_$union, format?: string, selectorFormat?: string, comments?: Comment$[]): Data;
//# sourceMappingURL=Data.fs.d.ts.map