import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as ProfilesAPI from 'cloudflare/resources/zero-trust/dlp/profiles/profiles';
import * as CustomAPI from 'cloudflare/resources/zero-trust/dlp/profiles/custom';
import * as PredefinedAPI from 'cloudflare/resources/zero-trust/dlp/profiles/predefined';
import { SinglePage } from 'cloudflare/pagination';
export declare class Profiles extends APIResource {
    custom: CustomAPI.Custom;
    predefined: PredefinedAPI.Predefined;
    /**
     * Lists all DLP profiles in an account.
     */
    list(params: ProfileListParams, options?: Core.RequestOptions): Core.PagePromise<DLPProfilesSinglePage, DLPProfiles>;
    /**
     * Fetches a DLP profile by ID. Supports both predefined and custom profiles
     */
    get(profileId: string, params: ProfileGetParams, options?: Core.RequestOptions): Core.APIPromise<ProfileGetResponse>;
}
export declare class DLPProfilesSinglePage extends SinglePage<DLPProfiles> {
}
export type DLPProfiles = PredefinedAPI.DLPPredefinedProfile | CustomAPI.DLPCustomProfile | DLPProfiles.DLPIntegrationProfile;
export declare namespace DLPProfiles {
    interface DLPIntegrationProfile {
        /**
         * The ID for this profile
         */
        id?: string;
        created_at?: string;
        /**
         * The description of the profile.
         */
        description?: string;
        /**
         * The entries for this profile.
         */
        entries?: Array<DLPIntegrationProfile.Entry>;
        /**
         * The name of the profile.
         */
        name?: string;
        /**
         * The type of the profile.
         */
        type?: 'integration';
        updated_at?: string;
    }
    namespace DLPIntegrationProfile {
        /**
         * An entry derived from an integration
         */
        interface Entry {
            /**
             * The ID for this entry
             */
            id?: string;
            created_at?: string;
            /**
             * Whether the entry is enabled or not.
             */
            enabled?: boolean;
            /**
             * The name of the entry.
             */
            name?: string;
            /**
             * ID of the parent profile
             */
            profile_id?: unknown;
            updated_at?: string;
        }
    }
}
export type ProfileGetResponse = PredefinedAPI.DLPPredefinedProfile | CustomAPI.DLPCustomProfile | ProfileGetResponse.DLPIntegrationProfile;
export declare namespace ProfileGetResponse {
    interface DLPIntegrationProfile {
        /**
         * The ID for this profile
         */
        id?: string;
        created_at?: string;
        /**
         * The description of the profile.
         */
        description?: string;
        /**
         * The entries for this profile.
         */
        entries?: Array<DLPIntegrationProfile.Entry>;
        /**
         * The name of the profile.
         */
        name?: string;
        /**
         * The type of the profile.
         */
        type?: 'integration';
        updated_at?: string;
    }
    namespace DLPIntegrationProfile {
        /**
         * An entry derived from an integration
         */
        interface Entry {
            /**
             * The ID for this entry
             */
            id?: string;
            created_at?: string;
            /**
             * Whether the entry is enabled or not.
             */
            enabled?: boolean;
            /**
             * The name of the entry.
             */
            name?: string;
            /**
             * ID of the parent profile
             */
            profile_id?: unknown;
            updated_at?: string;
        }
    }
}
export interface ProfileListParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface ProfileGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace Profiles {
    export import DLPProfiles = ProfilesAPI.DLPProfiles;
    export import ProfileGetResponse = ProfilesAPI.ProfileGetResponse;
    export import DLPProfilesSinglePage = ProfilesAPI.DLPProfilesSinglePage;
    export import ProfileListParams = ProfilesAPI.ProfileListParams;
    export import ProfileGetParams = ProfilesAPI.ProfileGetParams;
    export import Custom = CustomAPI.Custom;
    export import DLPCustomProfile = CustomAPI.DLPCustomProfile;
    export import CustomCreateResponse = CustomAPI.CustomCreateResponse;
    export import CustomDeleteResponse = CustomAPI.CustomDeleteResponse;
    export import CustomCreateParams = CustomAPI.CustomCreateParams;
    export import CustomUpdateParams = CustomAPI.CustomUpdateParams;
    export import CustomDeleteParams = CustomAPI.CustomDeleteParams;
    export import CustomGetParams = CustomAPI.CustomGetParams;
    export import Predefined = PredefinedAPI.Predefined;
    export import DLPPredefinedProfile = PredefinedAPI.DLPPredefinedProfile;
    export import PredefinedUpdateParams = PredefinedAPI.PredefinedUpdateParams;
    export import PredefinedGetParams = PredefinedAPI.PredefinedGetParams;
}
//# sourceMappingURL=profiles.d.ts.map