import { APIResource } from "../../../../core/resource.mjs";
import { APIPromise } from "../../../../core/api-promise.mjs";
import { RequestOptions } from "../../../../internal/request-options.mjs";
export declare class BaseAccountMapping extends APIResource {
    static readonly _key: readonly ['zeroTrust', 'dlp', 'email', 'accountMapping'];
    /**
     * Creates a mapping between a Cloudflare account and an email provider for DLP
     * email scanning integration.
     *
     * @example
     * ```ts
     * const accountMapping =
     *   await client.zeroTrust.dlp.email.accountMapping.create({
     *     account_id: 'account_id',
     *     auth_requirements: {
     *       allowed_microsoft_organizations: ['string'],
     *       type: 'Org',
     *     },
     *   });
     * ```
     */
    create(params: AccountMappingCreateParams, options?: RequestOptions): APIPromise<AccountMappingCreateResponse>;
    /**
     * Retrieves the email provider mapping configuration for DLP email scanning.
     *
     * @example
     * ```ts
     * const accountMapping =
     *   await client.zeroTrust.dlp.email.accountMapping.get({
     *     account_id: 'account_id',
     *   });
     * ```
     */
    get(params: AccountMappingGetParams, options?: RequestOptions): APIPromise<AccountMappingGetResponse>;
}
export declare class AccountMapping extends BaseAccountMapping {
}
export interface AccountMappingCreateResponse {
    addin_identifier_token: string;
    auth_requirements: AccountMappingCreateResponse.UnionMember0 | AccountMappingCreateResponse.Type;
}
export declare namespace AccountMappingCreateResponse {
    interface UnionMember0 {
        allowed_microsoft_organizations: Array<string>;
        type: 'Org';
    }
    interface Type {
        type: 'NoAuth';
    }
}
export interface AccountMappingGetResponse {
    addin_identifier_token: string;
    auth_requirements: AccountMappingGetResponse.UnionMember0 | AccountMappingGetResponse.Type;
}
export declare namespace AccountMappingGetResponse {
    interface UnionMember0 {
        allowed_microsoft_organizations: Array<string>;
        type: 'Org';
    }
    interface Type {
        type: 'NoAuth';
    }
}
export interface AccountMappingCreateParams {
    /**
     * Path param
     */
    account_id: string;
    /**
     * Body param
     */
    auth_requirements: AccountMappingCreateParams.UnionMember0 | AccountMappingCreateParams.Type;
}
export declare namespace AccountMappingCreateParams {
    interface UnionMember0 {
        allowed_microsoft_organizations: Array<string>;
        type: 'Org';
    }
    interface Type {
        type: 'NoAuth';
    }
}
export interface AccountMappingGetParams {
    account_id: string;
}
export declare namespace AccountMapping {
    export { type AccountMappingCreateResponse as AccountMappingCreateResponse, type AccountMappingGetResponse as AccountMappingGetResponse, type AccountMappingCreateParams as AccountMappingCreateParams, type AccountMappingGetParams as AccountMappingGetParams, };
}
//# sourceMappingURL=account-mapping.d.mts.map