import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare enum Folders2 {
    True = "true",
    False = "false"
}
/**
 * Whether the folder has children
 */
export type FoldersHasChildren = boolean | Folders2;
export declare enum FoldersSchemas2 {
    True = "true",
    False = "false"
}
/**
 * Whether the folder has content
 */
export type FoldersHasContent = boolean | FoldersSchemas2;
export declare enum FoldersSchemasIsRoot2 {
    True = "true",
    False = "false"
}
/**
 * Whether the folder is at the root level of the drive
 */
export type IsRoot = boolean | FoldersSchemasIsRoot2;
export type Folders = {
    /**
     * List of containing parent Folder IDs in descending order
     */
    allParentFolderIds?: Array<string> | null | undefined;
    /**
     * The created date of the folder
     */
    createdAt?: Date | null | undefined;
    /**
     * The description of the folder
     */
    description?: string | null | undefined;
    /**
     * The parent drive ID associated with this folder
     */
    driveId?: string | null | undefined;
    /**
     * Whether the folder has children
     */
    hasChildren?: boolean | Folders2 | null | undefined;
    /**
     * Whether the folder has content
     */
    hasContent?: boolean | FoldersSchemas2 | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Whether the folder is at the root level of the drive
     */
    isRoot?: boolean | FoldersSchemasIsRoot2 | null | undefined;
    /**
     * The name associated with this folder
     */
    name?: string | null | undefined;
    /**
     * The user ID of owner of this folder
     */
    ownerId?: string | null | undefined;
    /**
     * The parent folder ID associated with this folder
     */
    parentFolderId?: string | null | undefined;
    /**
     * The path where the folder is stored
     */
    path?: string | null | undefined;
    /**
     * Provider's unique identifier of the parent drive associated with this folder
     */
    remoteDriveId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's unique identifier of the owner of this folder
     */
    remoteOwnerId?: string | null | undefined;
    /**
     * Provider's unique identifier of the parent folder associated with this folder
     */
    remoteParentFolderId?: string | null | undefined;
    /**
     * The size of this folder in bytes
     */
    size?: number | null | undefined;
    /**
     * The last updated date of the folder
     */
    updatedAt?: Date | null | undefined;
    /**
     * The url of the folder
     */
    url?: string | null | undefined;
};
/** @internal */
export declare const Folders2$inboundSchema: z.ZodNativeEnum<typeof Folders2>;
/** @internal */
export declare const Folders2$outboundSchema: z.ZodNativeEnum<typeof Folders2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Folders2$ {
    /** @deprecated use `Folders2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof Folders2>;
    /** @deprecated use `Folders2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof Folders2>;
}
/** @internal */
export declare const FoldersHasChildren$inboundSchema: z.ZodType<FoldersHasChildren, z.ZodTypeDef, unknown>;
/** @internal */
export type FoldersHasChildren$Outbound = boolean | string;
/** @internal */
export declare const FoldersHasChildren$outboundSchema: z.ZodType<FoldersHasChildren$Outbound, z.ZodTypeDef, FoldersHasChildren>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FoldersHasChildren$ {
    /** @deprecated use `FoldersHasChildren$inboundSchema` instead. */
    const inboundSchema: z.ZodType<FoldersHasChildren, z.ZodTypeDef, unknown>;
    /** @deprecated use `FoldersHasChildren$outboundSchema` instead. */
    const outboundSchema: z.ZodType<FoldersHasChildren$Outbound, z.ZodTypeDef, FoldersHasChildren>;
    /** @deprecated use `FoldersHasChildren$Outbound` instead. */
    type Outbound = FoldersHasChildren$Outbound;
}
export declare function foldersHasChildrenToJSON(foldersHasChildren: FoldersHasChildren): string;
export declare function foldersHasChildrenFromJSON(jsonString: string): SafeParseResult<FoldersHasChildren, SDKValidationError>;
/** @internal */
export declare const FoldersSchemas2$inboundSchema: z.ZodNativeEnum<typeof FoldersSchemas2>;
/** @internal */
export declare const FoldersSchemas2$outboundSchema: z.ZodNativeEnum<typeof FoldersSchemas2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FoldersSchemas2$ {
    /** @deprecated use `FoldersSchemas2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof FoldersSchemas2>;
    /** @deprecated use `FoldersSchemas2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof FoldersSchemas2>;
}
/** @internal */
export declare const FoldersHasContent$inboundSchema: z.ZodType<FoldersHasContent, z.ZodTypeDef, unknown>;
/** @internal */
export type FoldersHasContent$Outbound = boolean | string;
/** @internal */
export declare const FoldersHasContent$outboundSchema: z.ZodType<FoldersHasContent$Outbound, z.ZodTypeDef, FoldersHasContent>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FoldersHasContent$ {
    /** @deprecated use `FoldersHasContent$inboundSchema` instead. */
    const inboundSchema: z.ZodType<FoldersHasContent, z.ZodTypeDef, unknown>;
    /** @deprecated use `FoldersHasContent$outboundSchema` instead. */
    const outboundSchema: z.ZodType<FoldersHasContent$Outbound, z.ZodTypeDef, FoldersHasContent>;
    /** @deprecated use `FoldersHasContent$Outbound` instead. */
    type Outbound = FoldersHasContent$Outbound;
}
export declare function foldersHasContentToJSON(foldersHasContent: FoldersHasContent): string;
export declare function foldersHasContentFromJSON(jsonString: string): SafeParseResult<FoldersHasContent, SDKValidationError>;
/** @internal */
export declare const FoldersSchemasIsRoot2$inboundSchema: z.ZodNativeEnum<typeof FoldersSchemasIsRoot2>;
/** @internal */
export declare const FoldersSchemasIsRoot2$outboundSchema: z.ZodNativeEnum<typeof FoldersSchemasIsRoot2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FoldersSchemasIsRoot2$ {
    /** @deprecated use `FoldersSchemasIsRoot2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof FoldersSchemasIsRoot2>;
    /** @deprecated use `FoldersSchemasIsRoot2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof FoldersSchemasIsRoot2>;
}
/** @internal */
export declare const IsRoot$inboundSchema: z.ZodType<IsRoot, z.ZodTypeDef, unknown>;
/** @internal */
export type IsRoot$Outbound = boolean | string;
/** @internal */
export declare const IsRoot$outboundSchema: z.ZodType<IsRoot$Outbound, z.ZodTypeDef, IsRoot>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace IsRoot$ {
    /** @deprecated use `IsRoot$inboundSchema` instead. */
    const inboundSchema: z.ZodType<IsRoot, z.ZodTypeDef, unknown>;
    /** @deprecated use `IsRoot$outboundSchema` instead. */
    const outboundSchema: z.ZodType<IsRoot$Outbound, z.ZodTypeDef, IsRoot>;
    /** @deprecated use `IsRoot$Outbound` instead. */
    type Outbound = IsRoot$Outbound;
}
export declare function isRootToJSON(isRoot: IsRoot): string;
export declare function isRootFromJSON(jsonString: string): SafeParseResult<IsRoot, SDKValidationError>;
/** @internal */
export declare const Folders$inboundSchema: z.ZodType<Folders, z.ZodTypeDef, unknown>;
/** @internal */
export type Folders$Outbound = {
    all_parent_folder_ids?: Array<string> | null | undefined;
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    drive_id?: string | null | undefined;
    has_children?: boolean | string | null | undefined;
    has_content?: boolean | string | null | undefined;
    id?: string | null | undefined;
    is_root?: boolean | string | null | undefined;
    name?: string | null | undefined;
    owner_id?: string | null | undefined;
    parent_folder_id?: string | null | undefined;
    path?: string | null | undefined;
    remote_drive_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_owner_id?: string | null | undefined;
    remote_parent_folder_id?: string | null | undefined;
    size?: number | null | undefined;
    updated_at?: string | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const Folders$outboundSchema: z.ZodType<Folders$Outbound, z.ZodTypeDef, Folders>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Folders$ {
    /** @deprecated use `Folders$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Folders, z.ZodTypeDef, unknown>;
    /** @deprecated use `Folders$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Folders$Outbound, z.ZodTypeDef, Folders>;
    /** @deprecated use `Folders$Outbound` instead. */
    type Outbound = Folders$Outbound;
}
export declare function foldersToJSON(folders: Folders): string;
export declare function foldersFromJSON(jsonString: string): SafeParseResult<Folders, SDKValidationError>;
//# sourceMappingURL=folders.d.ts.map