import IResolver from './resolvers/IResolver';
import IRegistrar from './registrars/IRegistrar';
import CryptoOptions from './CryptoOptions';
import IKeyStore from './crypto/keyStore/IKeyStore';
import CryptoFactory from './crypto/plugin/CryptoFactory';
/**
 * Interface defining options for the
 * User Agent, such as resolver and register.
 */
export default class UserAgentOptions {
    /**
     * Instanciate a new instance of @class UserAgentOptions
     * @param cryptoFactory Optional parameter specifying the crypto factory
     */
    constructor(cryptoFactory?: CryptoFactory);
    /**
     * Instance of Resolver than can be used
     * to resolve identifiers.
     */
    resolver?: IResolver;
    /**
     * Instance of Registrar than can be used
     * to register identifiers.
     */
    registrar?: IRegistrar;
    /**
     * The timeout when making requests to
     * external services.
     */
    timeoutInSeconds: number;
    /**
     * The locale to be used by the
     * user agent.
     */
    locale: string;
    /**
     * The lifetime of any self-issued credentials.
     * Used to determine the expiry time of the
     * credential.
     */
    selfIssuedCredentialLifetimeInSeconds: number;
    /**
     * Crypto Options
     * contains algorithm and other data about crypto
     */
    cryptoOptions: CryptoOptions;
    /**
     * Prefix for the generated did.
     */
    didPrefix: string;
    /**
     * Get the key store
     */
    /**
    * Set the key store
    */
    keyStore: IKeyStore;
    /**
     * Get the crypto operations
     */
    /**
    * Set the key store
    */
    cryptoFactory: CryptoFactory;
}
