/**
 * Auth0 configuration interface representing essential tenant
 * connection information needed for API operations.
 */
export interface Auth0Config {
    /**
     * Authentication token for Auth0 Management API access.
     * Must be valid and non-expired for API operations to succeed.
     * Used in the Authorization header for all API requests.
     */
    token: string;
    /**
     * Auth0 tenant domain (e.g., "your-tenant.auth0.com").
     * Used to construct API endpoints and identify the tenant.
     * Essential for routing requests to the correct Auth0 instance.
     */
    domain: string;
    /**
     * Human-readable name for the Auth0 tenant.
     * Used primarily for display purposes in logs and user interfaces.
     * Defaults to domain if not explicitly provided.
     */
    tenantName?: string;
    /**
     * Where the configuration was loaded from.
     * Environment-backed configuration is useful for bundle-based installs where
     * hosts can securely prompt for values and inject them at launch time.
     */
    source?: 'keychain' | 'env';
}
/**
 * Loads and prepares Auth0 configuration for API interactions.
 *
 * This function retrieves stored credentials from the system keychain
 * to establish a secure connection with Auth0 tenant. It handles
 * the authentication flow behind the scenes, ensuring a valid
 * access token is available for API operations.
 *
 * @returns {Promise<Auth0Config | null>} Configuration object with token and domain
 *          or null if retrieval fails
 */
export declare function loadConfig(): Promise<Auth0Config | null>;
/**
 * Validates Auth0 configuration to ensure it can be used for API operations.
 *
 * This comprehensive validation ensures that:
 * 1. The configuration object exists
 * 2. The required token is present
 * 3. The required domain is specified
 * 4. The token has not expired
 *
 * Security validation is critical since invalid or expired credentials could
 * lead to API failures or security vulnerabilities. This function prevents
 * operations from proceeding with invalid authentication states.
 *
 * Note: This validation complements the user-oriented validation in `run.ts`.
 * While `run.ts` provides detailed CLI error messages during startup,
 * this function serves as an ongoing validation layer during server operation,
 * particularly when handling tool requests. Both mechanisms work together
 * to create a secure yet user-friendly experience.
 *
 * @param {Auth0Config | null} config - The configuration to validate
 * @returns {Promise<boolean>} True if config is valid and usable, false otherwise
 */
export declare function validateConfig(config: Auth0Config | null): Promise<boolean>;
