/** * License Validator — Valida licença do cliente. * * Dois modos: * 1. DynamoDB direto (Lambda / dev com AWS_PROFILE) — quando CORTEX_API_URL nao esta definido * 2. HTTP remoto (cliente local via npx) — quando CORTEX_API_URL esta definido * Chama o endpoint nuvem para validar, com cache em memoria (TTL 5min) * * RBAC: * - role "admin" → acesso total a todos os domains e tools * - role "user" → acesso restrito aos domains em allowedDomains */ export interface License { licenseKey: string; clientName: string; plan: string; status: string; role: "admin" | "user"; expiresAt: string; allowedTools: Set; allowedDomains?: Set; createdAt: string; } export interface LicenseCheck { valid: boolean; reason?: string; license?: License; } /** * Ponto de entrada unico — escolhe modo automaticamente. */ export declare function validateLicense(licenseKey: string, toolName?: string): Promise; /** * Verifica se a licença tem acesso a um domain específico. * Admin tem acesso a tudo. User só aos domains em allowedDomains. */ export declare function canAccessDomain(license: License, domain: string): boolean; /** * Filtra lista de domains para apenas os permitidos pela licença. */ export declare function filterAllowedDomains(license: License, domains: string[]): string[];