/**
 * LINE Messaging API
 * This document describes LINE Messaging API.
 *
 * The version of the OpenAPI document: 0.0.1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { AttachModuleResponse } from "../model/attachModuleResponse.js";
import * as Types from "../../types.js";
interface httpClientConfig {
    /**
     * Base URL for requests.
     * Defaults to 'https://manager.line.biz'.
     * You can override this for testing or to use a mock server.
     */
    baseURL?: string;
    /**
     * Channel access token used for authorization.
     */
    channelAccessToken: string;
    /**
     * Extra headers merged into every request.
     */
    defaultHeaders?: Record<string, string>;
}
/**
 * @see {@link LineBotClient} for a unified interface that wraps this client.
 */
export declare class LineModuleAttachClient {
    private httpClient;
    /**
     * Initializes a new `LineModuleAttachClient`.
     *
     * @param config Configuration for this API client.
     * @param config.baseURL The base URL for requests. Defaults to `https://manager.line.biz`.
     * @param config.channelAccessToken The channel access token used for authorization.
     * @param config.defaultHeaders Extra headers merged into every request.
     *
     * @example
     * const client = new LineModuleAttachClient({
     *   channelAccessToken: process.env.LINE_CHANNEL_ACCESS_TOKEN!,
     * });
     */
    constructor(config: httpClientConfig);
    /**
     * Attach by operation of the module channel provider
     * Calls `POST https://manager.line.biz/module/auth/v1/token`.
     * To inspect the HTTP status code or response headers, use {@link attachModuleWithHttpInfo}.
     * @param grantType authorization_code
     * @param code Authorization code received from the LINE Platform.
     * @param redirectUri Specify the redirect_uri specified in the URL for authentication and authorization.
     * @param codeVerifier Specify when using PKCE (Proof Key for Code Exchange) defined in the OAuth 2.0 extension specification as a countermeasure against authorization code interception attacks.
     * @param clientId Instead of using Authorization header, you can use this parameter to specify the channel ID of the module channel. You can find the channel ID of the module channel in the LINE Developers Console.
     * @param clientSecret Instead of using Authorization header, you can use this parameter to specify the channel secret of the module channel. You can find the channel secret of the module channel in the LINE Developers Console.
     * @param region If you specified a value for region in the URL for authentication and authorization, specify the same value.
     * @param basicSearchId If you specified a value for basic_search_id in the URL for authentication and authorization, specify the same value.
     * @param scope If you specified a value for scope in the URL for authentication and authorization, specify the same value.
     * @param brandType If you specified a value for brand_type in the URL for authentication and authorization, specify the same value.
     * @returns A promise resolving to the response body.
     * @see <a href="https://developers.line.biz/en/reference/partner-docs/#link-attach-by-operation-module-channel-provider">LINE Developers documentation</a>
     */
    attachModule(grantType: string, code: string, redirectUri: string, codeVerifier?: string, clientId?: string, clientSecret?: string, region?: string, basicSearchId?: string, scope?: string, brandType?: string): Promise<AttachModuleResponse>;
    /**
     * Attach by operation of the module channel provider
     * Calls `POST https://manager.line.biz/module/auth/v1/token`.
     * This method returns the response body together with the underlying `httpResponse`.
     * @param grantType authorization_code
     * @param code Authorization code received from the LINE Platform.
     * @param redirectUri Specify the redirect_uri specified in the URL for authentication and authorization.
     * @param codeVerifier Specify when using PKCE (Proof Key for Code Exchange) defined in the OAuth 2.0 extension specification as a countermeasure against authorization code interception attacks.
     * @param clientId Instead of using Authorization header, you can use this parameter to specify the channel ID of the module channel. You can find the channel ID of the module channel in the LINE Developers Console.
     * @param clientSecret Instead of using Authorization header, you can use this parameter to specify the channel secret of the module channel. You can find the channel secret of the module channel in the LINE Developers Console.
     * @param region If you specified a value for region in the URL for authentication and authorization, specify the same value.
     * @param basicSearchId If you specified a value for basic_search_id in the URL for authentication and authorization, specify the same value.
     * @param scope If you specified a value for scope in the URL for authentication and authorization, specify the same value.
     * @param brandType If you specified a value for brand_type in the URL for authentication and authorization, specify the same value.
     * @returns A promise resolving to the response body together with the underlying `httpResponse`.
     * @see <a href="https://developers.line.biz/en/reference/partner-docs/#link-attach-by-operation-module-channel-provider">LINE Developers documentation</a>
     */
    attachModuleWithHttpInfo(grantType: string, code: string, redirectUri: string, codeVerifier?: string, clientId?: string, clientSecret?: string, region?: string, basicSearchId?: string, scope?: string, brandType?: string): Promise<Types.ApiResponseType<AttachModuleResponse>>;
}
export {};
//# sourceMappingURL=lineModuleAttachClient.d.ts.map