///
import Credential from '@alicloud/credentials';
import { Readable } from 'stream';
import * as $tea from '@alicloud/tea-typescript';
export declare class InterceptorContext extends $tea.Model {
request: InterceptorContextRequest;
configuration: InterceptorContextConfiguration;
response: InterceptorContextResponse;
static names(): {
[key: string]: string;
};
static types(): {
[key: string]: any;
};
constructor(map?: {
[key: string]: any;
});
}
export declare class AttributeMap extends $tea.Model {
attributes: {
[key: string]: any;
};
key: {
[key: string]: string;
};
static names(): {
[key: string]: string;
};
static types(): {
[key: string]: any;
};
constructor(map?: {
[key: string]: any;
});
}
export declare class InterceptorContextRequest extends $tea.Model {
headers?: {
[key: string]: string;
};
query?: {
[key: string]: string;
};
body?: any;
stream?: Readable;
hostMap?: {
[key: string]: string;
};
pathname: string;
productId: string;
action: string;
version: string;
protocol: string;
method: string;
authType: string;
bodyType: string;
reqBodyType: string;
style?: string;
credential: Credential;
signatureVersion?: string;
signatureAlgorithm?: string;
userAgent: string;
static names(): {
[key: string]: string;
};
static types(): {
[key: string]: any;
};
constructor(map?: {
[key: string]: any;
});
}
export declare class InterceptorContextConfiguration extends $tea.Model {
regionId: string;
endpoint?: string;
endpointRule?: string;
endpointMap?: {
[key: string]: string;
};
endpointType?: string;
network?: string;
suffix?: string;
static names(): {
[key: string]: string;
};
static types(): {
[key: string]: any;
};
constructor(map?: {
[key: string]: any;
});
}
export declare class InterceptorContextResponse extends $tea.Model {
statusCode?: number;
headers?: {
[key: string]: string;
};
body?: Readable;
deserializedBody?: any;
static names(): {
[key: string]: string;
};
static types(): {
[key: string]: any;
};
constructor(map?: {
[key: string]: any;
});
}
export default abstract class Client {
constructor();
abstract modifyConfiguration(context: InterceptorContext, attributeMap: AttributeMap): Promise;
abstract modifyRequest(context: InterceptorContext, attributeMap: AttributeMap): Promise;
abstract modifyResponse(context: InterceptorContext, attributeMap: AttributeMap): Promise;
}