import * as z from "zod/v3";
import { ConnectConnectorUpdateData, ConnectConnectorUpdateData$Outbound } from "./connectconnectorupdatedata.js";
/**
 * Connector fields to update.
 */
export type ConnectUpdateConnectorRequest = {
    /**
     * Whether the triggers are enabled for this connector.
     */
    triggers?: boolean | undefined;
    /**
     * Default trigger events for this connector.
     */
    events?: Array<string> | undefined;
    /**
     * Provider configuration fields for the connector type.
     */
    data?: ConnectConnectorUpdateData | undefined;
    /**
     * SHA-1 digest of a PNG or JPEG icon that is at least 640 by 640 pixels. This field does not accept a URL or image bytes.
     *
     * @remarks
     *
     * First compute the digest and upload the raw image with [POST /v2/files](https://vercel.com/docs/rest-api/deployments/upload-deployment-files). Send `Content-Length` and the same 40-character digest in `x-vercel-digest`. Then set `icon` to that digest.
     *
     * ```js
     * import { createHash } from 'node:crypto';
     * import { readFile } from 'node:fs/promises';
     *
     * const VERCEL_TOKEN = process.env.VERCEL_TOKEN;
     * const connectorId = 'scl_...';
     * const bytes = await readFile('icon.png');
     * const digest = createHash('sha1').update(bytes).digest('hex');
     *
     * await fetch('https://api.vercel.com/v2/files', {
     *   method: 'POST',
     *   headers: {
     *     Authorization: `Bearer ${VERCEL_TOKEN}`,
     *     'Content-Type': 'application/octet-stream',
     *     'Content-Length': String(bytes.length),
     *     'x-vercel-digest': digest,
     *   },
     *   body: bytes,
     * });
     *
     * await fetch(`https://api.vercel.com/v2/connect/connectors/${connectorId}`, {
     *   method: 'PATCH',
     *   headers: {
     *     Authorization: `Bearer ${VERCEL_TOKEN}`,
     *     'Content-Type': 'application/json',
     *   },
     *   body: JSON.stringify({ icon: digest }),
     * });
     * ```
     */
    icon?: string | undefined;
    backgroundColor?: string | undefined;
    accentColor?: string | undefined;
    /**
     * Full team-scoped UID, such as `slack/my-bot`. It cannot contain whitespace, `%`, `#`, control characters, or Vercel-owned namespaces. Changing it breaks callers that use the old UID. The stable connector ID does not change.
     */
    uid?: string | undefined;
    /**
     * Display name for the connector. It is trimmed and cannot be empty or contain control characters.
     */
    name?: string | undefined;
};
/** @internal */
export type ConnectUpdateConnectorRequest$Outbound = {
    triggers?: boolean | undefined;
    events?: Array<string> | undefined;
    data?: ConnectConnectorUpdateData$Outbound | undefined;
    icon?: string | undefined;
    backgroundColor?: string | undefined;
    accentColor?: string | undefined;
    uid?: string | undefined;
    name?: string | undefined;
};
/** @internal */
export declare const ConnectUpdateConnectorRequest$outboundSchema: z.ZodType<ConnectUpdateConnectorRequest$Outbound, z.ZodTypeDef, ConnectUpdateConnectorRequest>;
export declare function connectUpdateConnectorRequestToJSON(connectUpdateConnectorRequest: ConnectUpdateConnectorRequest): string;
//# sourceMappingURL=connectupdateconnectorrequest.d.ts.map