import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ValtechAuthConfig } from '../auth/types';
import { ClientApiKey, CreateApiKeyRequest, CreateApiKeyResponse, RevokeApiKeyResponse } from './types';
import * as i0 from "@angular/core";
/**
 * Cliente HTTP de Client API Keys org-scopeadas (ADR-023). La org activa se
 * resuelve en backend desde el JWT, así que el path no la incluye.
 */
export declare class ApiKeyService {
    private config;
    private http;
    constructor(config: ValtechAuthConfig, http: HttpClient);
    private get baseUrl();
    /** Lista las API keys de la org activa. */
    list(): Observable<ClientApiKey[]>;
    /** Crea una API key. La respuesta incluye el secreto (se muestra UNA vez). */
    create(req: CreateApiKeyRequest): Observable<CreateApiKeyResponse>;
    /** Revoca (elimina) una API key por id. */
    revoke(keyId: string): Observable<RevokeApiKeyResponse>;
    /** Catálogo de permisos asignables a una key. */
    availablePermissions(): Observable<string[]>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ApiKeyService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ApiKeyService>;
}
