import { AwsSdkSigV4AuthInputConfig, AwsSdkSigV4AuthResolvedConfig, AwsSdkSigV4PreviouslyResolved } from "@aws-sdk/core/httpAuthSchemes"; import type { HandlerExecutionContext, HttpAuthScheme, HttpAuthSchemeParameters, HttpAuthSchemeParametersProvider, HttpAuthSchemeProvider, Provider } from "@smithy/types"; import { type IoTSecureTunnelingClientResolvedConfig } from "../IoTSecureTunnelingClient"; /** * @internal */ export interface IoTSecureTunnelingHttpAuthSchemeParameters extends HttpAuthSchemeParameters { region?: string; } /** * @internal */ export interface IoTSecureTunnelingHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider { } /** * @internal */ export declare const defaultIoTSecureTunnelingHttpAuthSchemeParametersProvider: (config: IoTSecureTunnelingClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise; /** * @internal */ export interface IoTSecureTunnelingHttpAuthSchemeProvider extends HttpAuthSchemeProvider { } /** * @internal */ export declare const defaultIoTSecureTunnelingHttpAuthSchemeProvider: IoTSecureTunnelingHttpAuthSchemeProvider; /** * @public */ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig { /** * A comma-separated list of case-sensitive auth scheme names. * An auth scheme name is a fully qualified auth scheme ID with the namespace prefix trimmed. * For example, the auth scheme with ID aws.auth#sigv4 is named sigv4. * @public */ authSchemePreference?: string[] | Provider; /** * Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme. * @internal */ httpAuthSchemes?: HttpAuthScheme[]; /** * Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use. * @internal */ httpAuthSchemeProvider?: IoTSecureTunnelingHttpAuthSchemeProvider; } /** * @internal */ export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig { /** * A comma-separated list of case-sensitive auth scheme names. * An auth scheme name is a fully qualified auth scheme ID with the namespace prefix trimmed. * For example, the auth scheme with ID aws.auth#sigv4 is named sigv4. * @public */ readonly authSchemePreference: Provider; /** * Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme. * @internal */ readonly httpAuthSchemes: HttpAuthScheme[]; /** * Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use. * @internal */ readonly httpAuthSchemeProvider: IoTSecureTunnelingHttpAuthSchemeProvider; } /** * @internal */ export declare const resolveHttpAuthSchemeConfig: (config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved) => T & HttpAuthSchemeResolvedConfig;