import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as DatasetsAPI from 'cloudflare/resources/zero-trust/dlp/datasets/datasets';
import * as UploadAPI from 'cloudflare/resources/zero-trust/dlp/datasets/upload';
import { SinglePage } from 'cloudflare/pagination';
export declare class Datasets extends APIResource {
    upload: UploadAPI.Upload;
    /**
     * Create a new dataset.
     */
    create(params: DatasetCreateParams, options?: Core.RequestOptions): Core.APIPromise<DLPDatasetCreation>;
    /**
     * Update details about a dataset.
     */
    update(datasetId: string, params: DatasetUpdateParams, options?: Core.RequestOptions): Core.APIPromise<DLPDataset>;
    /**
     * Fetch all datasets with information about available versions.
     */
    list(params: DatasetListParams, options?: Core.RequestOptions): Core.PagePromise<DLPDatasetsSinglePage, DLPDataset>;
    /**
     * Delete a dataset.
     *
     * This deletes all versions of the dataset.
     */
    delete(datasetId: string, params: DatasetDeleteParams, options?: Core.RequestOptions): Core.APIPromise<void>;
    /**
     * Fetch a specific dataset with information about available versions.
     */
    get(datasetId: string, params: DatasetGetParams, options?: Core.RequestOptions): Core.APIPromise<DLPDataset>;
}
export declare class DLPDatasetsSinglePage extends SinglePage<DLPDataset> {
}
export interface DLPDataset {
    id: string;
    created_at: string;
    name: string;
    num_cells: number;
    secret: boolean;
    status: 'empty' | 'uploading' | 'failed' | 'complete';
    updated_at: string;
    uploads: Array<DLPDataset.Upload>;
    description?: string | null;
}
export declare namespace DLPDataset {
    interface Upload {
        num_cells: number;
        status: 'empty' | 'uploading' | 'failed' | 'complete';
        version: number;
    }
}
export type DLPDatasetArray = Array<DLPDataset>;
export interface DLPDatasetCreation {
    dataset: DLPDataset;
    max_cells: number;
    /**
     * The version to use when uploading the dataset.
     */
    version: number;
    /**
     * The secret to use for Exact Data Match datasets. This is not present in Custom
     * Wordlists.
     */
    secret?: string;
}
export interface DatasetCreateParams {
    /**
     * Path param:
     */
    account_id: string;
    /**
     * Body param:
     */
    name: string;
    /**
     * Body param:
     */
    description?: string | null;
    /**
     * Body param: Generate a secret dataset.
     *
     * If true, the response will include a secret to use with the EDM encoder. If
     * false, the response has no secret and the dataset is uploaded in plaintext.
     */
    secret?: boolean;
}
export interface DatasetUpdateParams {
    /**
     * Path param:
     */
    account_id: string;
    /**
     * Body param:
     */
    description?: string | null;
    /**
     * Body param:
     */
    name?: string | null;
}
export interface DatasetListParams {
    account_id: string;
}
export interface DatasetDeleteParams {
    account_id: string;
}
export interface DatasetGetParams {
    account_id: string;
}
export declare namespace Datasets {
    export import DLPDataset = DatasetsAPI.DLPDataset;
    export import DLPDatasetArray = DatasetsAPI.DLPDatasetArray;
    export import DLPDatasetCreation = DatasetsAPI.DLPDatasetCreation;
    export import DLPDatasetsSinglePage = DatasetsAPI.DLPDatasetsSinglePage;
    export import DatasetCreateParams = DatasetsAPI.DatasetCreateParams;
    export import DatasetUpdateParams = DatasetsAPI.DatasetUpdateParams;
    export import DatasetListParams = DatasetsAPI.DatasetListParams;
    export import DatasetDeleteParams = DatasetsAPI.DatasetDeleteParams;
    export import DatasetGetParams = DatasetsAPI.DatasetGetParams;
    export import Upload = UploadAPI.Upload;
    export import DLPDatasetNewVersion = UploadAPI.DLPDatasetNewVersion;
    export import UploadCreateParams = UploadAPI.UploadCreateParams;
    export import UploadEditParams = UploadAPI.UploadEditParams;
}
//# sourceMappingURL=datasets.d.ts.map