/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { FileType } from './FileType';
import { LinkedFolder } from './LinkedFolder';
import { Owner } from './Owner';
import { UnifiedFilePermissions } from './UnifiedFilePermissions';
/**
 *
 * @export
 * @interface UnifiedFile
 */
export interface UnifiedFile {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof UnifiedFile
     */
    readonly id: string;
    /**
     * The name of the file
     * @type {string}
     * @memberof UnifiedFile
     */
    name: string | null;
    /**
     *
     * @type {FileType}
     * @memberof UnifiedFile
     */
    type: FileType | null;
    /**
     * The third-party API ID of original entity
     * @type {string}
     * @memberof UnifiedFile
     */
    readonly downstream_id?: string | null;
    /**
     * Optional description of the file
     * @type {string}
     * @memberof UnifiedFile
     */
    description?: string | null;
    /**
     * The full path of the file or folder (includes the file name)
     * @type {string}
     * @memberof UnifiedFile
     */
    path?: string | null;
    /**
     * The MIME type of the file.
     * @type {string}
     * @memberof UnifiedFile
     */
    mime_type?: string | null;
    /**
     * Whether the current user can download this file
     * @type {boolean}
     * @memberof UnifiedFile
     */
    downloadable?: boolean;
    /**
     * The size of the file in bytes
     * @type {number}
     * @memberof UnifiedFile
     */
    size?: number | null;
    /**
     *
     * @type {Owner}
     * @memberof UnifiedFile
     */
    owner?: Owner;
    /**
     * The parent folders of the file, starting from the root
     * @type {Array<LinkedFolder>}
     * @memberof UnifiedFile
     */
    parent_folders?: Array<LinkedFolder>;
    /**
     * Whether the list of parent folders is complete. Some connectors only return the direct parent of a file
     * @type {boolean}
     * @memberof UnifiedFile
     */
    parent_folders_complete?: boolean;
    /**
     *
     * @type {UnifiedFilePermissions}
     * @memberof UnifiedFile
     */
    permissions?: UnifiedFilePermissions;
    /**
     * Whether the current file is exportable to other file formats. This property is relevant for proprietary file formats such as Google Docs or Dropbox Paper.
     * @type {boolean}
     * @memberof UnifiedFile
     */
    exportable?: boolean;
    /**
     * The available file formats when exporting this file.
     * @type {Array<string>}
     * @memberof UnifiedFile
     */
    export_formats?: Array<string> | null;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof UnifiedFile
     */
    readonly custom_mappings?: object | null;
    /**
     * The user who last updated the object.
     * @type {string}
     * @memberof UnifiedFile
     */
    readonly updated_by?: string | null;
    /**
     * The user who created the object.
     * @type {string}
     * @memberof UnifiedFile
     */
    readonly created_by?: string | null;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof UnifiedFile
     */
    readonly updated_at?: Date | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof UnifiedFile
     */
    readonly created_at?: Date | null;
}
export declare function UnifiedFileFromJSON(json: any): UnifiedFile;
export declare function UnifiedFileFromJSONTyped(json: any, ignoreDiscriminator: boolean): UnifiedFile;
export declare function UnifiedFileToJSON(value?: UnifiedFile | null): any;
