/** Represents a secret configuration for API access */ export type SecretProperties = { api_domain?: string; api_path_prefix?: string; auth_header_key?: string; auth_header_value?: string; }; /** Represents a mapping between a miniapp tier and a secret */ export type TierMapping = { miniapp_name: string; creator_id: string; secret_reference: string; tier: string; }; /** Represents a tier assignment for a user */ export type TierAssignment = { miniapp_name: string; user_id: string; tier: string; }; /** Represents rate limit configuration for a tier */ export type RateLimit = { miniapp_name: string; secret_reference: string; tier: string; window_ms: number; limit: number; }; /** Configuration for the proxy fetch client */ export type ProxyFetchConfig = { miniappName: string; }; /** Configuration for the proxy getView client */ export type ProxyGetViewConfig = { miniappName: string; gwProxyUrl: string; }; declare const APIProxyHandler: (baseUrl: string, projectHmac?: string) => { getSecrets: () => Promise; putSecret: (secretReference: string, secret: SecretProperties) => Promise; patchSecret: (secretReference: string, secret: SecretProperties) => Promise; getSecret: (secretReference: string) => Promise; deleteSecret: (secretReference: string) => Promise; getAllTierKeyMaps: () => Promise; getTierKeyMap: (miniappName: string, customHmac?: string) => Promise; putTierKeyMap: (miniappName: string, tier: string, secretReference: string, customHmac?: string) => Promise; getTierKeyMapForTier: (miniappName: string, tier: string, customHmac?: string) => Promise; deleteTierKeyMap: (miniappName: string, tier: string, secretReference: string, customHmac?: string) => Promise; getTierAssignments: (miniappName: string, customHmac?: string) => Promise; putTierAssignment: (miniappName: string, userId: string, tier: string, customHmac?: string) => Promise; getTierAssignment: (miniappName: string, userId: string, customHmac?: string) => Promise; deleteTierAssignment: (miniappName: string, userId: string, customHmac?: string) => Promise; getRateLimits: (miniappName: string, customHmac?: string) => Promise; putRateLimit: (miniappName: string, tier: string, secretReference: string, rateLimit: Pick, customHmac?: string) => Promise; getRateLimit: (miniappName: string, tier: string, secretReference: string, customHmac?: string) => Promise; deleteRateLimit: (miniappName: string, tier: string, secretReference: string, customHmac?: string) => Promise; createProxyFetch: (config: ProxyFetchConfig) => (input: RequestInfo | URL, init?: RequestInit) => Promise; createProxyGetView: (config: ProxyGetViewConfig) => (schema: string, viewName: string, parameters?: { [key: string]: string | number | boolean; }) => Promise<{ [key: string]: any; }[]>; }; export { APIProxyHandler }; //# sourceMappingURL=apiProxy.d.ts.map