import { ModelProperty, Operation, Program, Type, Union } from "@typespec/compiler";
import { HttpOperation } from "@typespec/http";
import { Parameter } from "@autorest/codemodel";
import { LroMetadata } from "@azure-tools/typespec-azure-core";
import { Client as CodeModelClient, ServiceVersion } from "./common/client.js";
import { CodeModel } from "./common/code-model.js";
import { EmitterOptions } from "./emitter.js";
export declare const SPECIAL_HEADER_NAMES: Set<string>;
export declare const ORIGIN_API_VERSION = "modelerfour:synthesized/api-version";
export declare const CONTENT_TYPE_KEY = "content-type";
export declare function isKnownContentType(contentTypes: string[]): boolean;
export declare function loadExamples(program: Program, options: EmitterOptions): Promise<Map<Operation, any>>;
export declare function operationIsJsonMergePatch(op: HttpOperation): boolean;
export declare function operationIsMultipart(op: HttpOperation): boolean;
export declare function operationIsMultipleContentTypes(op: HttpOperation): boolean;
export declare function operationRefersUnion(program: Program, op: HttpOperation, cache: Map<Type, Union | null | undefined>): Union | null;
export declare function isPayloadProperty(program: Program, property: ModelProperty): boolean;
export declare function getServiceVersion(client: CodeModelClient | CodeModel): ServiceVersion;
export declare function isLroNewPollingStrategy(httpOperation: HttpOperation, lroMetadata: LroMetadata): boolean;
export declare function cloneOperationParameter(parameter: Parameter): Parameter;
//# sourceMappingURL=operation-utils.d.ts.map