/**
 * Adobe Creative Suite Authenticator
 *
 * Handles authentication for Adobe Creative Suite APIs using OAuth 2.0
 * client credentials flow and JWT-based authentication.
 */
export interface AuthenticationResult {
    accessToken: string;
    tokenType: string;
    expiresIn: number;
    scope: string[];
    issuedAt: Date;
}
export interface APICredentials {
    clientId: string;
    clientSecret: string;
    privateKey?: string;
    scopes: string[];
}
export declare class CreativeSuiteAuthenticator {
    private config;
    private cachedToken;
    constructor();
    /**
     * Authenticate with Adobe Creative Suite APIs using client credentials flow
     */
    authenticate(): Promise<AuthenticationResult>;
    /**
     * Perform OAuth 2.0 client credentials authentication
     */
    private performClientCredentialsAuth;
    /**
     * Check if a token is still valid
     */
    private isTokenValid;
    /**
     * Get authentication headers for API requests
     */
    getAuthHeaders(): Promise<Record<string, string>>;
    /**
     * Validate current authentication status
     */
    validateAuthentication(): Promise<AuthenticationValidationResult>;
    /**
     * Clear cached authentication token
     */
    clearCache(): void;
    /**
     * Test API connectivity with authenticated request
     */
    testAPIConnectivity(): Promise<APIConnectivityResult>;
}
export interface AuthenticationValidationResult {
    isAuthenticated: boolean;
    tokenInfo?: {
        expiresAt: Date;
        scopes: string[];
        tokenType: string;
    };
    error?: string;
    message: string;
}
export interface APIConnectivityResult {
    allAPIsConnected: boolean;
    apiStatus: Record<string, boolean>;
    error?: string;
    message: string;
}
export declare const creativeSuiteAuth: CreativeSuiteAuthenticator;
//# sourceMappingURL=authenticator.d.ts.map