import type { EndpointNode, GraphQlNode, GrpcNode, TypeId, WebhookNode, WebSocketNode } from "../navigation"; import type { ApiDefinition, AuthScheme, AuthSchemeId, EndpointDefinition, GraphQlOperation, ObjectProperty, TypeDefinition, WebhookDefinition, WebSocketChannel } from "./latest"; export type AuthSchemeWithKey = { key: AuthSchemeId; scheme: AuthScheme; }; export type AuthOptionEntry = { key: string; schemeIds: AuthSchemeId[]; schemes: AuthScheme[]; label: string; }; export type EndpointContext = { node: EndpointNode; endpoint: EndpointDefinition; globalHeaders: ObjectProperty[]; auths: AuthScheme[]; authsWithKeys: AuthSchemeWithKey[]; authOptions: AuthScheme[][]; authOptionEntries: AuthOptionEntry[]; types: Record; }; export declare function createEndpointContext(node: EndpointNode | undefined, apiDefinition: ApiDefinition | undefined): EndpointContext | undefined; export type WebSocketContext = { node: WebSocketNode; channel: WebSocketChannel; globalHeaders: ObjectProperty[]; auths: AuthScheme[]; authsWithKeys: AuthSchemeWithKey[]; authOptions: AuthScheme[][]; authOptionEntries: AuthOptionEntry[]; types: Record; }; export declare function createWebSocketContext(node: WebSocketNode | undefined, apiDefinition: ApiDefinition | undefined): WebSocketContext | undefined; export type WebhookContext = { node: WebhookNode; webhook: WebhookDefinition; types: Record; }; export declare function createWebhookContext(node: WebhookNode | undefined, apiDefinition: ApiDefinition | undefined): WebhookContext | undefined; export type GrpcContext = { node: GrpcNode; grpc: EndpointDefinition; types: Record; }; export declare function createGrpcContext(node: GrpcNode | undefined, apiDefinition: ApiDefinition | undefined): GrpcContext | undefined; export type GraphqlContext = { node: GraphQlNode; operation: GraphQlOperation; types: Record; }; export declare function createGraphqlContext(node: GraphQlNode | undefined, apiDefinition: ApiDefinition | undefined): GraphqlContext | undefined; //# sourceMappingURL=endpoint-context.d.ts.map