import type { Config as ProviderConfig, TemplateOAuth2 as ProviderTemplateOAuth2, Template as ProviderTemplate, OAuth2Credentials, Connection } from '../models/index.js';
import { OAuthAuthorizationMethod, OAuthBodyFormat } from '../models/index.js';
import type { ServiceResponse } from '../models/Generic.js';
export declare function getSimpleOAuth2ClientConfig(providerConfig: ProviderConfig, template: ProviderTemplate, connectionConfig: Record<string, string>): {
    client: {
        id: string;
        secret: string;
    };
    auth: {
        tokenHost: string;
        tokenPath: string;
        authorizeHost: string;
        authorizePath: string;
    };
    http: {
        headers: {
            'User-Agent': string;
        };
    };
    options: {
        authorizationMethod: OAuthAuthorizationMethod;
        bodyFormat: OAuthBodyFormat;
        scopeSeparator: string;
    };
};
export declare function getFreshOAuth2Credentials(connection: Connection, config: ProviderConfig, template: ProviderTemplateOAuth2): Promise<ServiceResponse<OAuth2Credentials>>;
