UNPKG

@aws-amplify/core

Version:
14 lines (13 loc) 1.21 kB
import { ServiceClientOptions } from '../types/aws'; import { TransferHandler, Endpoint } from '../types/core'; import { HttpRequest, HttpResponse } from '../types/http'; export declare const composeServiceApi: <TransferHandlerOptions, Input, Output, DefaultConfig>(transferHandler: TransferHandler<HttpRequest, HttpResponse, TransferHandlerOptions>, serializer: (input: Input, endpoint: Endpoint) => Promise<HttpRequest> | HttpRequest, deserializer: (output: HttpResponse) => Promise<Output>, defaultConfig: Partial<DefaultConfig>) => (config: OptionalizeKey<TransferHandlerOptions & ServiceClientOptions & Partial<DefaultConfig> & InferEndpointResolverOptionType<DefaultConfig>, DefaultConfig>, input: Input) => Promise<Output>; type OptionalizeKey<InputType, InputDefaultsType> = { [KeyWithDefaultValue in keyof InputDefaultsType]?: KeyWithDefaultValue extends keyof InputType ? InputType[KeyWithDefaultValue] : never; } & { [KeyWithoutDefaultValue in keyof Omit<InputType, keyof InputDefaultsType>]: InputType[KeyWithoutDefaultValue]; }; type InferEndpointResolverOptionType<T> = T extends { endpointResolver: (options: infer EndpointOptions) => any; } ? EndpointOptions : never; export {};