/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Reference } from './Reference';
import type { CsvTableDescriptor } from './CsvTableDescriptor';
import type { EntityRef } from './EntityRef';
/**
 * This is the DTO of a node.
 * @export
 * @interface Node
 */
export interface Node {
    /**
     *
     * @type {string}
     * @memberof Node
     */
    id?: string;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    name?: string;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    description?: string;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    parentId?: string;
    /**
     *
     * @type {number}
     * @memberof Node
     */
    createdByPrincipalId?: number;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    createdOn?: string;
    /**
     *
     * @type {number}
     * @memberof Node
     */
    modifiedByPrincipalId?: number;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    modifiedOn?: string;
    /**
     * Type of the Entity
     * @type {string}
     * @memberof Node
     */
    nodeType?: NodeNodeTypeEnum;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    eTag?: string;
    /**
     *
     * @type {number}
     * @memberof Node
     */
    versionNumber?: number;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    versionComment?: string;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    versionLabel?: string;
    /**
     *
     * @type {boolean}
     * @memberof Node
     */
    isLatestVersion?: boolean;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    activityId?: string;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    fileHandleId?: string;
    /**
     *
     * @type {Array<string>}
     * @memberof Node
     */
    columnModelIds?: Array<string>;
    /**
     * For FileViews, the list of IDs that define the scope of the view.
     * @type {Array<string>}
     * @memberof Node
     */
    scopeIds?: Array<string>;
    /**
     * For Datasets and Dataset Collections, the list of entity references that define the view.
     * @type {Array<EntityRef>}
     * @memberof Node
     */
    items?: Array<EntityRef>;
    /**
     * For RecordSet, one or more column names that define this upsert key.
     * @type {Array<string>}
     * @memberof Node
     */
    upsertKey?: Array<string>;
    /**
     *
     * @type {CsvTableDescriptor}
     * @memberof Node
     */
    csvDescriptor?: CsvTableDescriptor;
    /**
     *
     * @type {Reference}
     * @memberof Node
     */
    reference?: Reference;
    /**
     *
     * @type {string}
     * @memberof Node
     */
    alias?: string;
    /**
     * For table entities, specifies if the full text search index is enabled or not.
     * @type {boolean}
     * @memberof Node
     */
    isSearchEnabled?: boolean;
    /**
     * For materialized views, virtual tables, and search indexes, specifies the SQL defining the content.
     * @type {string}
     * @memberof Node
     */
    definingSQL?: string;
    /**
     * For a RecordSet, the file handle that contains the detailed validation results.
     * @type {string}
     * @memberof Node
     */
    validationResultFileHandleId?: string;
}
/**
 * @export
 */
export declare const NodeNodeTypeEnum: {
    readonly project: "project";
    readonly folder: "folder";
    readonly file: "file";
    readonly table: "table";
    readonly link: "link";
    readonly entityview: "entityview";
    readonly dockerrepo: "dockerrepo";
    readonly submissionview: "submissionview";
    readonly dataset: "dataset";
    readonly datasetcollection: "datasetcollection";
    readonly materializedview: "materializedview";
    readonly virtualtable: "virtualtable";
    readonly recordset: "recordset";
    readonly searchindex: "searchindex";
};
export type NodeNodeTypeEnum = typeof NodeNodeTypeEnum[keyof typeof NodeNodeTypeEnum];
/**
 * Check if a given object implements the Node interface.
 */
export declare function instanceOfNode(value: object): value is Node;
export declare function NodeFromJSON(json: any): Node;
export declare function NodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): Node;
export declare function NodeToJSON(json: any): Node;
export declare function NodeToJSONTyped(value?: Node | null, ignoreDiscriminator?: boolean): any;
