import * as z from "zod/v3";
import { ManagementPermissionMode } from "./managementpermissionmode.js";
export type CreateManagementKeyRequest = {
    /**
     * Human-readable name. Required.
     */
    name: string;
    permissionMode?: ManagementPermissionMode | undefined;
    /**
     * Per-domain access map. Required when `permission_mode` =
     *
     * @remarks
     *  `MANAGEMENT_PERMISSION_MODE_RESTRICTED`. See `ManagementKey.access`
     *  for the catalog of valid keys (Domain.id) and AccessLevel string
     *  values, or fetch the live catalog via the capability catalog
     *  endpoint.
     */
    access?: {
        [k: string]: number;
    } | undefined;
    /**
     * Optional expiration. When set, the authenticate hot-path rejects
     *
     * @remarks
     *  the key once `expires_at` is in the past. Unset means the key
     *  never expires.
     */
    expiresAt?: Date | undefined;
};
/** @internal */
export type CreateManagementKeyRequest$Outbound = {
    name: string;
    permission_mode?: string | undefined;
    access?: {
        [k: string]: number;
    } | undefined;
    expires_at?: string | undefined;
};
/** @internal */
export declare const CreateManagementKeyRequest$outboundSchema: z.ZodType<CreateManagementKeyRequest$Outbound, z.ZodTypeDef, CreateManagementKeyRequest>;
export declare function createManagementKeyRequestToJSON(createManagementKeyRequest: CreateManagementKeyRequest): string;
//# sourceMappingURL=createmanagementkeyrequest.d.ts.map