/**
 * @fileoverview Set custom claims Firebase function
 * @description Firebase callable function for setting custom user claims
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
import * as v from 'valibot';
import type { CallableFunction } from 'firebase-functions/v2/https';
declare const setCustomClaimsSchema: v.ObjectSchema<{
    readonly customClaims: v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>;
    readonly idempotencyKey: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
}, undefined>;
export type SetCustomClaimsRequest = v.InferOutput<typeof setCustomClaimsSchema>;
export type SetCustomClaimsResponse = {
    success: boolean;
    customClaims: Record<string, any>;
};
export interface SetCustomClaimsOptions {
    /** Explicit allowlist of claim keys users may set on themselves. Required. */
    allowedClaimKeys: string[];
    customSchema?: v.BaseSchema<unknown, any, v.BaseIssue<unknown>>;
}
/**
 * Sets custom claims for a user, restricted to allowed keys.
 * Consumers MUST specify which claim keys are self-assignable.
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare const setCustomClaims: (options: SetCustomClaimsOptions) => CallableFunction<SetCustomClaimsRequest, Promise<SetCustomClaimsResponse>>;
export {};
