/*!
 * Copyright (C) Microsoft Corporation. All rights reserved.
 */
import type { CsdlOperation } from '../services/index.js';
import type { AddDataverseApiContext } from '../Types/ActionTypes.js';
/**
 * Converts a parsed `CsdlOperation` (from Dataverse `$metadata` XML) into the `.Schema.json`
 * file format consumed by the codegen pipeline.
 *
 * The output uses the connector schema format (`properties.swagger`) so the existing
 * `handleSwaggerSchema` codegen path processes it without a separate handler. All parameter
 * metadata — `in`, `type`, `x-ms-dataverse-type`, `x-ms-csdl-type` — is resolved at write-time
 * and baked into the swagger. Downstream processors read the swagger spec directly.
 *
 * The `x-ms-csdl-type` extension preserves the original CSDL type string (e.g.
 * `"mscrm.opportunity"`) so that `modelServiceGenerator` can resolve entity references to their
 * generated TypeScript `*Base` interfaces instead of falling back to plain `object`.
 *
 * @param operation   - The parsed CSDL operation (kind, parameters, return type, binding info)
 * @param entitySetName - OData entity set name for the binding entity (e.g. `"opportunities"`),
 *                        or `undefined` for unbound operations
 * @param apiName     - The user-supplied API name, used verbatim as `title` and lowercased as `name`
 */
export declare function buildDataverseOperationSchema(operation: CsdlOperation, entitySetName: string | undefined, apiName: string): Record<string, unknown>;
/**
 * Adds a Dataverse API (custom action, custom function, SDK message, or first-party
 * action/function) to the app by fetching its definition from the $metadata CSDL,
 * persisting a schema file, and updating dataSourcesInfo.
 *
 * @param {AddDataverseApiContext} context
 * @returns {Promise<void>}
 */
export declare function addDataverseApiAsync(context: AddDataverseApiContext): Promise<void>;
//# sourceMappingURL=AddDataverseApi.d.ts.map