import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { LinkedFolder } from "./linkedfolder.js";
import { Owner } from "./owner.js";
export type Folder = {
    /**
     * A unique identifier for an object.
     */
    id?: string | undefined;
    /**
     * The name of the folder
     */
    name: string;
    /**
     * Optional description of the folder
     */
    description?: string | null | undefined;
    /**
     * The full path of the folder (includes the folder name)
     */
    path?: string | null | undefined;
    /**
     * The size of the folder in bytes
     */
    size?: number | null | undefined;
    owner?: Owner | undefined;
    /**
     * The parent folders of the file, starting from the root
     */
    parentFolders: Array<LinkedFolder>;
    /**
     * Whether the list of parent folder is complete. Some connectors only return the direct parent of a folder
     */
    parentFoldersComplete?: boolean | undefined;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     */
    customMappings?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The user who last updated the object.
     */
    updatedBy?: string | null | undefined;
    /**
     * The user who created the object.
     */
    createdBy?: string | null | undefined;
    /**
     * The date and time when the object was last updated.
     */
    updatedAt?: Date | null | undefined;
    /**
     * The date and time when the object was created.
     */
    createdAt?: Date | null | undefined;
};
/** @internal */
export declare const Folder$inboundSchema: z.ZodType<Folder, z.ZodTypeDef, unknown>;
export declare function folderFromJSON(jsonString: string): SafeParseResult<Folder, SDKValidationError>;
//# sourceMappingURL=folder.d.ts.map