import * as Soap from "@soapjs/soap"; import { ApiKeyStrategyConfig } from "./api-key.types"; import { BaseAuthStrategy } from "../base-auth.strategy"; export declare class ApiKeyStrategy extends BaseAuthStrategy { protected config: ApiKeyStrategyConfig; readonly name = "api-key"; protected apiKeyValidity: { sessionDuration: number; longTermDuration: number; }; constructor(config: ApiKeyStrategyConfig, logger?: Soap.Logger); protected fetchUser(apiKey: string, context: TContext): Promise; init(): Promise; authenticate(context?: TContext): Promise | null>; authorize(user: TUser, action: string, resource?: string): Promise; revoke(apiKey: string): Promise; private trackApiKeyUsage; }