import { ConfigService } from '@nestjs/config';
export interface ServiceCredentialInfo {
    id?: string;
    prefix?: string;
    type?: string;
    owner_type?: string;
    owner_id?: string | null;
    tenant_id?: string | null;
    scopes?: string[];
    expires_at?: string | null;
}
export interface ValidationResult {
    valid: boolean;
    credential?: ServiceCredentialInfo;
    reason?: string;
}
export interface ValidateContext {
    presentedKey: string;
    route: string;
    method: string;
    requiredScope?: string | null;
    ip?: string | null;
    origin?: string | null;
    correlationId?: string | null;
}
export declare class ServiceCredentialValidatorService {
    private readonly configService;
    private readonly logger;
    private readonly http;
    private readonly cache;
    constructor(configService: ConfigService);
    validate(ctx: ValidateContext): Promise<ValidationResult>;
    private callValidator;
    private cacheKey;
    private fromCache;
    private toCache;
    private redact;
    private extractPrefix;
    evict(prefix: string): number;
}
