import { APIResource } from "../../../../core/resource.js";
import { PagePromise, SinglePage } from "../../../../core/pagination.js";
import { RequestOptions } from "../../../../internal/request-options.js";
export declare class BaseAuthMethods extends APIResource {
    static readonly _key: readonly ['zeroTrust', 'casb', 'applications', 'authMethods'];
    /**
     * Returns available auth methods for the specified vendor, including credential
     * schema, instructions, and example payloads. Use this to understand what
     * credentials are required before calling POST /v2/integrations.
     *
     * @example
     * ```ts
     * // Automatically fetches more pages as needed.
     * for await (const authMethodListResponse of client.zeroTrust.casb.applications.authMethods.list(
     *   'ANTHROPIC',
     *   { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     * )) {
     *   // ...
     * }
     * ```
     */
    list(applicationID: 'ANTHROPIC' | 'AWS' | 'BITBUCKET' | 'BOX' | 'CONFLUENCE' | 'DROPBOX' | 'GITHUB' | 'GOOGLE_CLOUD_PLATFORM' | 'GOOGLE_WORKSPACE' | 'JIRA' | 'MICROSOFT_INTERNAL' | 'OPENAI' | 'SALESFORCE' | 'SERVICENOW' | 'SLACK', params: AuthMethodListParams, options?: RequestOptions): PagePromise<AuthMethodListResponsesSinglePage, AuthMethodListResponse>;
}
export declare class AuthMethods extends BaseAuthMethods {
}
export type AuthMethodListResponsesSinglePage = SinglePage<AuthMethodListResponse>;
/**
 * Detailed auth method info including credentials schema and instructions.
 */
export interface AuthMethodListResponse {
    /**
     * Auth method identifier.
     */
    id: string;
    /**
     * Human-readable auth method name.
     */
    display_name: string;
    /**
     * Whether setup requires human interaction or integration can be created purely
     * using API (e.g., For OAuth can not be created without user interaction).
     */
    human_interaction_required: boolean;
    /**
     * Step-by-step instructions for obtaining credentials.
     */
    instructions: AuthMethodListResponse.Instructions;
    /**
     * Example credentials payload with placeholder values.
     */
    payload_example: {
        [key: string]: unknown;
    } | null;
    /**
     * JSON Schema for the credentials object in POST /v2/integrations request.
     */
    payload_schema: {
        [key: string]: unknown;
    } | null;
    /**
     * OAuth redirect URL for vendors requiring human interaction.
     */
    redirect_url: string | null;
}
export declare namespace AuthMethodListResponse {
    /**
     * Step-by-step instructions for obtaining credentials.
     */
    interface Instructions {
        /**
         * Detailed instructions in markdown format.
         */
        markdown: string;
    }
}
export interface AuthMethodListParams {
    /**
     * Path param: Cloudflare account identifier.
     */
    account_id: string;
    /**
     * Query param: A page number within the paginated result set.
     */
    page?: number;
    /**
     * Query param: Number of results to return per page.
     */
    page_size?: number;
}
export declare namespace AuthMethods {
    export { type AuthMethodListResponse as AuthMethodListResponse, type AuthMethodListResponsesSinglePage as AuthMethodListResponsesSinglePage, type AuthMethodListParams as AuthMethodListParams, };
}
//# sourceMappingURL=auth-methods.d.ts.map