UNPKG

@autorest/go

Version:
100 lines 4.01 kB
import { MethodExample } from './examples.js'; import * as pkg from './package.js'; import * as param from './param.js'; import * as result from './result.js'; import * as type from './type.js'; export interface Client { name: string; docs: type.Docs; options: ClientOptions; parameters: Array<param.Parameter>; constructors: Array<Constructor>; methods: Array<Method | LROMethod | PageableMethod | LROPageableMethod>; clientAccessors: Array<ClientAccessor>; host?: string; templatedHost: boolean; parent?: Client; } export type ClientOptions = param.ParameterGroup | param.Parameter; export interface Constructor { name: string; parameters: Array<param.Parameter>; } export interface ClientAccessor { name: string; subClient: Client; } export interface Method { name: string; docs: type.Docs; httpPath: string; httpMethod: HTTPMethod; parameters: Array<param.Parameter>; optionalParamsGroup: param.ParameterGroup; responseEnvelope: result.ResponseEnvelope; httpStatusCodes: Array<number>; client: Client; naming: MethodNaming; apiVersions: Array<string>; examples: Array<MethodExample>; } export type HTTPMethod = 'delete' | 'get' | 'head' | 'patch' | 'post' | 'put'; export interface MethodNaming { internalMethod: string; requestMethod: string; responseMethod: string; } export interface LROMethod extends Method { finalStateVia?: 'azure-async-operation' | 'location' | 'operation-location' | 'original-uri'; isLRO: true; operationLocationResultPath?: string; } export interface PageableMethod extends Method { nextLinkName?: string; nextPageMethod?: NextPageMethod; isPageable: true; } export interface NextPageMethod { name: string; httpPath: string; httpMethod: HTTPMethod; parameters: Array<param.Parameter>; httpStatusCodes: Array<number>; client: Client; apiVersions: Array<string>; isNextPageMethod: true; } export interface LROPageableMethod extends LROMethod, PageableMethod { } export declare function isMethod(method: Method | NextPageMethod): method is Method; export declare function isLROMethod(method: Method | LROMethod | PageableMethod): method is LROMethod; export declare function isPageableMethod(method: Method | LROMethod | PageableMethod): method is PageableMethod; export declare function newClientOptions(modelType: pkg.CodeModelType, clientName: string): ClientOptions; export declare class Method implements Method { constructor(name: string, client: Client, httpPath: string, httpMethod: HTTPMethod, statusCodes: Array<number>, naming: MethodNaming); } export declare class Client implements Client { constructor(name: string, docs: type.Docs, options: ClientOptions); } export declare class Constructor implements Constructor { constructor(name: string); } export declare class ClientAccessor implements ClientAccessor { constructor(name: string, subClient: Client); } export declare class MethodNaming implements MethodNaming { constructor(internalMethod: string, requestMethod: string, responseMethod: string); } export declare class LROMethod extends Method implements LROMethod { constructor(name: string, client: Client, httpPath: string, httpMethod: HTTPMethod, statusCodes: Array<number>, naming: MethodNaming); } export declare class PageableMethod extends Method implements PageableMethod { constructor(name: string, client: Client, httpPath: string, httpMethod: HTTPMethod, statusCodes: Array<number>, naming: MethodNaming); } export declare class LROPageableMethod extends Method implements LROPageableMethod { constructor(name: string, client: Client, httpPath: string, httpMethod: HTTPMethod, statusCodes: Array<number>, naming: MethodNaming); } export declare class NextPageMethod implements NextPageMethod { constructor(name: string, client: Client, httpPath: string, httpMethod: HTTPMethod, statusCodes: Array<number>); } //# sourceMappingURL=client.d.ts.map