/** Options for the set-custom-claims edge function factory. */
export interface SetCustomClaimsOptions {
    /** Explicit allowlist of claim keys users may set on themselves. Required. */
    allowedClaimKeys: string[];
}
/**
 * Create a Supabase Edge Function handler for setting custom claims (app_metadata).
 *
 * Consumers MUST specify which claim keys are self-assignable.
 * The framework enforces a blocklist as a safety net even if the consumer
 * accidentally includes a privilege key.
 *
 * @param options - Configuration with allowedClaimKeys
 * @returns `(req: Request) => Promise<Response>` handler
 *
 * @example
 * ```typescript
 * // supabase/functions/set-custom-claims/index.ts
 * import { createSetCustomClaims } from '@donotdev/functions/supabase';
 * Deno.serve(createSetCustomClaims({ allowedClaimKeys: ['theme', 'locale'] }));
 * ```
 *
 * @version 0.2.0
 * @since 0.6.0
 */
export declare function createSetCustomClaims(options: SetCustomClaimsOptions): (req: Request) => Promise<Response>;
