import * as z from "zod/v3";
import { ManagementKeyStatus } from "./managementkeystatus.js";
import { ManagementPermissionMode } from "./managementpermissionmode.js";
export type UpdateManagementKeyRequest = {
    /**
     * New name. Omit to keep current.
     */
    name?: string | undefined;
    status?: ManagementKeyStatus | undefined;
    permissionMode?: ManagementPermissionMode | undefined;
    /**
     * Replacement access map. Required when changing to
     *
     * @remarks
     *  `MANAGEMENT_PERMISSION_MODE_RESTRICTED`; ignored otherwise. Provide
     *  an empty map to clear.
     */
    access?: {
        [k: string]: number;
    } | undefined;
    /**
     * New expiration. Omit to keep current. Set `clear_expires_at = true`
     *
     * @remarks
     *  to remove an existing expiration.
     */
    expiresAt?: Date | undefined;
    /**
     * Force-clear the expiration. Mutually exclusive with `expires_at`.
     */
    clearExpiresAt?: boolean | undefined;
};
/** @internal */
export type UpdateManagementKeyRequest$Outbound = {
    name?: string | undefined;
    status?: string | undefined;
    permission_mode?: string | undefined;
    access?: {
        [k: string]: number;
    } | undefined;
    expires_at?: string | undefined;
    clear_expires_at?: boolean | undefined;
};
/** @internal */
export declare const UpdateManagementKeyRequest$outboundSchema: z.ZodType<UpdateManagementKeyRequest$Outbound, z.ZodTypeDef, UpdateManagementKeyRequest>;
export declare function updateManagementKeyRequestToJSON(updateManagementKeyRequest: UpdateManagementKeyRequest): string;
//# sourceMappingURL=updatemanagementkeyrequest.d.ts.map