import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type ActivateKmsSigningKeyRequestBody = {
    /**
     * How many hours after activation the previously-active key should stop being used. Defaults to a 1 hour grace period so already-issued tokens keep verifying.
     */
    revokePreviousAfterHours?: number | undefined;
};
export type ActivateKmsSigningKeyRequest = {
    /**
     * The ID of the issuer.
     */
    issuerId: string;
    /**
     * The ID of the pending signing key to activate.
     */
    keyId: string;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
    requestBody?: ActivateKmsSigningKeyRequestBody | undefined;
};
export declare const ActivateKmsSigningKeyStatus: {
    readonly Active: "active";
    readonly Pending: "pending";
    readonly Revoking: "revoking";
};
export type ActivateKmsSigningKeyStatus = ClosedEnum<typeof ActivateKmsSigningKeyStatus>;
export type ActivateKmsSigningKeyPublicKey = {
    kty?: string | undefined;
    kid?: string | undefined;
    alg?: string | undefined;
    use?: string | undefined;
    keyOps?: Array<string> | undefined;
    /**
     * The X.509 certificate chain (RFC 7517 §4.7). Each entry is the base64 DER (not base64url) of a certificate. For keys minted with a stored certificate this holds the single self-signed cert as `[x5c]`.
     */
    x5c?: Array<string> | undefined;
    /**
     * The base64url SHA-256 thumbprint of the DER certificate in `x5c[0]` (RFC 7517 §4.9).
     */
    x5tNumberS256?: string | undefined;
};
export type ActivateKmsSigningKeyResponseBody = {
    /**
     * The server-minted, unique record identifier. Use this to address the key on the activate / certificate endpoints.
     */
    keyId: string;
    /**
     * The caller-supplied key id (imported keys only), used as the JWT/JWKS `kid`. Not unique across an issuer's keys; omitted for generated keys.
     */
    importKeyId?: string | undefined;
    issuerId: string;
    algorithm: string;
    status: ActivateKmsSigningKeyStatus;
    publicKey?: ActivateKmsSigningKeyPublicKey | undefined;
    publicKeyFingerprint?: string | undefined;
    /**
     * The public key in SPKI PEM form, ready to render. Present whenever the key has public key material. Derived from `publicKey`; the embedded certificate members (`x5c`/`x5t#S256`) do not affect it.
     */
    publicKeyPem?: string | undefined;
    /**
     * The stored X.509 certificate (from `publicKey.x5c[0]`) in PEM form, ready to render. Present only for keys created with a stored certificate; omitted for keys created before certificates were stored.
     */
    certificatePem?: string | undefined;
    createdAt: string;
    updatedAt: string;
    revokeAt?: string | undefined;
    activateAt?: string | undefined;
    /**
     * When the key became the active signer. Present for active and revoking keys (and absent for pending keys and rows predating this field).
     */
    activatedAt?: string | undefined;
};
/** @internal */
export type ActivateKmsSigningKeyRequestBody$Outbound = {
    revokePreviousAfterHours?: number | undefined;
};
/** @internal */
export declare const ActivateKmsSigningKeyRequestBody$outboundSchema: z.ZodType<ActivateKmsSigningKeyRequestBody$Outbound, z.ZodTypeDef, ActivateKmsSigningKeyRequestBody>;
export declare function activateKmsSigningKeyRequestBodyToJSON(activateKmsSigningKeyRequestBody: ActivateKmsSigningKeyRequestBody): string;
/** @internal */
export type ActivateKmsSigningKeyRequest$Outbound = {
    issuerId: string;
    keyId: string;
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: ActivateKmsSigningKeyRequestBody$Outbound | undefined;
};
/** @internal */
export declare const ActivateKmsSigningKeyRequest$outboundSchema: z.ZodType<ActivateKmsSigningKeyRequest$Outbound, z.ZodTypeDef, ActivateKmsSigningKeyRequest>;
export declare function activateKmsSigningKeyRequestToJSON(activateKmsSigningKeyRequest: ActivateKmsSigningKeyRequest): string;
/** @internal */
export declare const ActivateKmsSigningKeyStatus$inboundSchema: z.ZodNativeEnum<typeof ActivateKmsSigningKeyStatus>;
/** @internal */
export declare const ActivateKmsSigningKeyPublicKey$inboundSchema: z.ZodType<ActivateKmsSigningKeyPublicKey, z.ZodTypeDef, unknown>;
export declare function activateKmsSigningKeyPublicKeyFromJSON(jsonString: string): SafeParseResult<ActivateKmsSigningKeyPublicKey, SDKValidationError>;
/** @internal */
export declare const ActivateKmsSigningKeyResponseBody$inboundSchema: z.ZodType<ActivateKmsSigningKeyResponseBody, z.ZodTypeDef, unknown>;
export declare function activateKmsSigningKeyResponseBodyFromJSON(jsonString: string): SafeParseResult<ActivateKmsSigningKeyResponseBody, SDKValidationError>;
//# sourceMappingURL=activatekmssigningkeyop.d.ts.map