import { type AxiosResponse, type AxiosRequestConfig } from 'axios';
import { AppIdAuthProvider } from './auth.js';
type RequestFunctor = <T = any, R = AxiosResponse<T>>(config: AxiosRequestConfig) => Promise<R>;
/**
 * Client for EAS interaction, specifically fetching entity object.
 */
declare class Eas {
    authProvider: AppIdAuthProvider;
    endpoint: string;
    requestFunctor: RequestFunctor;
    /**
     * Create an object for accessing an Entity Attribute Service.
     * @param {object} config - options to  configure this EAS accessor
     * @param {AuthProvider|function} config.authProvider - interceptor for `http-request.Request` object manipulation
     * @param {string} config.endpoint - the URI to connect to
     * @param {function} [config.requestFunctor=request] - http request async function object
     */
    constructor({ authProvider, endpoint, requestFunctor, }: {
        authProvider: AppIdAuthProvider;
        endpoint: string;
        requestFunctor?: RequestFunctor;
    });
    /**
     * Request an entity object for the current user.
     * @param {object} config - options for the request
     * @param {string} config.publicKey - String encoded public key from the keypair to be used with any subsequent requests refering to the returned EO
     * @param {object} [config.etc] - additional parameters to be passed to the EAS entity-object endpoint
     */
    fetchEntityObject({ publicKey, ...etc }: {
        publicKey: string;
    }): Promise<any>;
}
export default Eas;
//# sourceMappingURL=Eas.d.ts.map