import { APIResource } from "../../../../../core/resource.mjs";
import * as EntriesAPI from "./entries.mjs";
import { BaseEntries, Entries, EntryCreateParams, EntryCreateResponse } from "./entries.mjs";
import { PagePromise, SinglePage } from "../../../../../core/pagination.mjs";
import { RequestOptions } from "../../../../../internal/request-options.mjs";
export declare class BaseVersions extends APIResource {
    static readonly _key: readonly ['zeroTrust', 'dlp', 'datasets', 'versions'];
    /**
     * This is used for multi-column EDMv2 datasets. The EDMv2 format can only be
     * created in the Cloudflare dashboard. The columns in the response appear in the
     * same order as in the request.
     *
     * @example
     * ```ts
     * // Automatically fetches more pages as needed.
     * for await (const versionCreateResponse of client.zeroTrust.dlp.datasets.versions.create(
     *   0,
     *   {
     *     account_id: 'account_id',
     *     dataset_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
     *     body: [
     *       { entry_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
     *     ],
     *   },
     * )) {
     *   // ...
     * }
     * ```
     */
    create(version: number, params: VersionCreateParams, options?: RequestOptions): PagePromise<VersionCreateResponsesSinglePage, VersionCreateResponse>;
}
export declare class Versions extends BaseVersions {
    entries: EntriesAPI.Entries;
}
export type VersionCreateResponsesSinglePage = SinglePage<VersionCreateResponse>;
export interface VersionCreateResponse {
    entry_id: string;
    header_name: string;
    num_cells: number;
    upload_status: 'empty' | 'uploading' | 'pending' | 'processing' | 'failed' | 'complete';
}
export interface VersionCreateParams {
    /**
     * Path param
     */
    account_id: string;
    /**
     * Path param
     */
    dataset_id: string;
    /**
     * Body param
     */
    body: Array<VersionCreateParams.ExistingColumn | VersionCreateParams.NewColumn>;
}
export declare namespace VersionCreateParams {
    interface ExistingColumn {
        entry_id: string;
        header_name?: string;
        num_cells?: number;
    }
    interface NewColumn {
        entry_name: string;
        header_name?: string;
        num_cells?: number;
    }
}
export declare namespace Versions {
    export { type VersionCreateResponse as VersionCreateResponse, type VersionCreateResponsesSinglePage as VersionCreateResponsesSinglePage, type VersionCreateParams as VersionCreateParams, };
    export { Entries as Entries, BaseEntries as BaseEntries, type EntryCreateResponse as EntryCreateResponse, type EntryCreateParams as EntryCreateParams, };
}
//# sourceMappingURL=versions.d.mts.map