import { AdvancedOptions } from '../../services/EntityManager/types'; import { Configuration, DeveloperAppsApi as GeneratedDeveloperAppsApi, type CreateDeveloperAppRequest, type DeleteDeveloperAppRequest, type UpdateDeveloperAppRequest } from '../generated/default'; import { EntityManagerCreateDeveloperAppRequest, EntityManagerUpdateDeveloperAppRequest, EntityManagerDeleteDeveloperAppRequest, type DeveloperAppsApiServicesConfig } from './types'; /** Extended params to allow bypassing entity manager for bearer token response */ type CreateDeveloperAppParams = CreateDeveloperAppRequest & { /** When true, use API POST endpoint to get bearer_token; otherwise use entity manager */ useApiEndpoint?: boolean; }; export declare class DeveloperAppsApi extends GeneratedDeveloperAppsApi { private readonly entityManager?; constructor(config: Configuration, services: DeveloperAppsApiServicesConfig); /** * Create a developer app via relay (user-signed) + API key registration. * 1. User signs CreateDeveloperApp ManageEntity tx → POST /relay * 2. After relay succeeds, register api_keys + api_access_keys → POST /developer-apps/{address}/access-keys */ createDeveloperAppWithEntityManager(params: EntityManagerCreateDeveloperAppRequest, advancedOptions?: AdvancedOptions): Promise<{ apiKey: string; apiSecret: string; bearer_token: string; bearerToken: string; blockHash: string; blockNumber: number; transactionHash: string; }>; /** * Get developer apps with api_access_keys (bearer tokens). * Uses include=metrics to fetch bearer tokens from the API. */ getDeveloperAppsWithMetrics(params: { id: string; }): Promise<{ data: Array<{ address: string; user_id: string; name: string; description?: string | null; image_url?: string | null; api_access_keys?: Array<{ api_access_key: string; is_active: boolean; }>; redirect_uris?: string[]; }>; }>; createDeveloperApp(params: CreateDeveloperAppParams, requestInit?: RequestInit): Promise; /** * Update a developer app */ updateDeveloperAppWithEntityManager(params: EntityManagerUpdateDeveloperAppRequest, advancedOptions?: AdvancedOptions): Promise<{ blockHash: string; blockNumber: number; transactionHash: string; }>; updateDeveloperApp(params: UpdateDeveloperAppRequest, requestInit?: RequestInit): Promise; /** * Delete a developer app */ deleteDeveloperAppWithEntityManager(params: EntityManagerDeleteDeveloperAppRequest): Promise; deleteDeveloperApp(params: DeleteDeveloperAppRequest, requestInit?: RequestInit): Promise; } export {};