import { ApiKeyRole } from '@luxledger/core/application'; import type { InferSchema } from '../schema-types.js'; export { ApiKeyRole }; export declare const MIN_JWT_ACCESS_TTL_SECONDS = 300; export declare const MAX_JWT_ACCESS_TTL_SECONDS = 900; export declare const DEFAULT_JWT_ACCESS_TTL_SECONDS = 900; export type AuthTokenRequestHeaders = { 'x-api-key': string; }; export declare const authTokenResponseSchema: { readonly type: "object"; readonly required: readonly ["access_token", "token_type", "expires_in"]; readonly properties: { readonly access_token: { readonly type: "string"; }; readonly token_type: { readonly type: "string"; readonly const: "Bearer"; }; readonly expires_in: { readonly type: "integer"; readonly minimum: 300; readonly maximum: 900; readonly default: 900; }; }; }; export declare const apiKeyContractSchema: { readonly type: "object"; readonly required: readonly ["id", "tenant_id", "name", "role", "created_at", "revoked_at"]; readonly properties: { readonly id: { readonly type: "string"; readonly format: "uuid"; }; readonly tenant_id: { readonly type: "string"; readonly format: "uuid"; }; readonly name: { readonly type: "string"; }; readonly role: { readonly type: "string"; readonly enum: readonly ("ADMIN" | "SERVICE")[]; }; readonly created_at: { readonly type: "string"; readonly format: "date-time"; }; readonly revoked_at: { readonly type: "string"; readonly format: "date-time"; readonly nullable: true; }; }; }; export declare const listApiKeysResponseSchema: { readonly type: "object"; readonly required: readonly ["data"]; readonly properties: { readonly data: { readonly type: "array"; readonly items: { readonly type: "object"; readonly required: readonly ["id", "tenant_id", "name", "role", "created_at", "revoked_at"]; readonly properties: { readonly id: { readonly type: "string"; readonly format: "uuid"; }; readonly tenant_id: { readonly type: "string"; readonly format: "uuid"; }; readonly name: { readonly type: "string"; }; readonly role: { readonly type: "string"; readonly enum: readonly ("ADMIN" | "SERVICE")[]; }; readonly created_at: { readonly type: "string"; readonly format: "date-time"; }; readonly revoked_at: { readonly type: "string"; readonly format: "date-time"; readonly nullable: true; }; }; }; }; }; }; export declare const createApiKeyBodySchema: { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["name", "role"]; readonly properties: { readonly name: { readonly type: "string"; readonly pattern: "^(?=.*\\S).+$"; }; readonly role: { readonly type: "string"; readonly enum: readonly ("ADMIN" | "SERVICE")[]; }; }; }; export declare const createApiKeyResponseSchema: { readonly type: "object"; readonly required: readonly ["api_key", "key"]; readonly properties: { readonly api_key: { readonly type: "string"; }; readonly key: { readonly type: "object"; readonly required: readonly ["id", "tenant_id", "name", "role", "created_at", "revoked_at"]; readonly properties: { readonly id: { readonly type: "string"; readonly format: "uuid"; }; readonly tenant_id: { readonly type: "string"; readonly format: "uuid"; }; readonly name: { readonly type: "string"; }; readonly role: { readonly type: "string"; readonly enum: readonly ("ADMIN" | "SERVICE")[]; }; readonly created_at: { readonly type: "string"; readonly format: "date-time"; }; readonly revoked_at: { readonly type: "string"; readonly format: "date-time"; readonly nullable: true; }; }; }; }; }; export declare const revokeApiKeyParamsSchema: { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["id"]; readonly properties: { readonly id: { readonly type: "string"; readonly format: "uuid"; }; }; }; export type AuthTokenResponse = InferSchema; export type ApiKeyContract = InferSchema; export type ListApiKeysResponse = InferSchema; export type CreateApiKeyRequest = InferSchema; export type CreateApiKeyResponse = InferSchema; export type RevokeApiKeyParams = InferSchema; //# sourceMappingURL=auth-admin.d.ts.map