import * as model from "./index";
export declare class EmailConfigDiscoverOauthRequest extends model.DiscoverEmailConfigRequest {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
    /**
     * OAuth client id.
     */
    clientId: string;
    /**
     * OAuth client secret.
     */
    clientSecret: string;
    /**
     * OAuth refresh token.
     */
    refreshToken: string;
    /**
     * The url to obtain access token. If not specified, will be discovered from email configuration.
     */
    requestUrl: string;
    /**
     *
     * @param address Email address to discover.
     * @param fastProcessing Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.
     * @param login Email account login. If not specified, address used as a login.
     * @param clientId OAuth client id.
     * @param clientSecret OAuth client secret.
     * @param refreshToken OAuth refresh token.
     * @param requestUrl The url to obtain access token. If not specified, will be discovered from email configuration.
     */
    constructor(address?: string, fastProcessing?: boolean, login?: string, clientId?: string, clientSecret?: string, refreshToken?: string, requestUrl?: string);
}
/**
 *  EmailConfigDiscoverOauthRequest model builder
 */
export declare class EmailConfigDiscoverOauthRequestBuilder {
    private readonly model;
    constructor(model: EmailConfigDiscoverOauthRequest);
    /**
     * Build model.
     */
    build(): EmailConfigDiscoverOauthRequest;
    /**
    * Email address to discover.
    */
    address(address: string): EmailConfigDiscoverOauthRequestBuilder;
    /**
    * Turns on fast processing. All discover systems will run in parallel. First discovered result will be returned.
    */
    fastProcessing(fastProcessing: boolean): EmailConfigDiscoverOauthRequestBuilder;
    /**
    * Email account login. If not specified, address used as a login.
    */
    login(login: string): EmailConfigDiscoverOauthRequestBuilder;
    /**
    * OAuth client id.
    */
    clientId(clientId: string): EmailConfigDiscoverOauthRequestBuilder;
    /**
    * OAuth client secret.
    */
    clientSecret(clientSecret: string): EmailConfigDiscoverOauthRequestBuilder;
    /**
    * OAuth refresh token.
    */
    refreshToken(refreshToken: string): EmailConfigDiscoverOauthRequestBuilder;
    /**
    * The url to obtain access token. If not specified, will be discovered from email configuration.
    */
    requestUrl(requestUrl: string): EmailConfigDiscoverOauthRequestBuilder;
}
