import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type GetIntegrationResourceRequest = {
    /**
     * The ID of the integration configuration (installation) the resource belongs to
     */
    integrationConfigurationId: string;
    /**
     * The ID provided by the 3rd party provider for the given resource
     */
    resourceId: string;
};
/**
 * The current status of the resource
 */
export declare const GetIntegrationResourceStatus: {
    readonly Error: "error";
    readonly Onboarding: "onboarding";
    readonly Pending: "pending";
    readonly Ready: "ready";
    readonly Resumed: "resumed";
    readonly Suspended: "suspended";
    readonly Uninstalled: "uninstalled";
};
/**
 * The current status of the resource
 */
export type GetIntegrationResourceStatus = ClosedEnum<typeof GetIntegrationResourceStatus>;
export type Experimentation = {
    edgeConfigSyncingEnabled?: boolean | undefined;
    edgeConfigId?: string | undefined;
    edgeConfigTokenId?: string | undefined;
};
/**
 * Any settings provided for the resource to support its product's protocols
 */
export type ProtocolSettings = {
    experimentation?: Experimentation | undefined;
};
export declare const GetIntegrationResourceLevel: {
    readonly Error: "error";
    readonly Info: "info";
    readonly Warn: "warn";
};
export type GetIntegrationResourceLevel = ClosedEnum<typeof GetIntegrationResourceLevel>;
/**
 * The notification, if set, displayed to the user when viewing the resource in Vercel
 */
export type GetIntegrationResourceNotification = {
    level: GetIntegrationResourceLevel;
    title: string;
    message?: string | undefined;
    href?: string | undefined;
};
export type GetIntegrationResourceMetadata = string | number | Array<string> | Array<number> | boolean;
export type GetIntegrationResourceResponseBody = {
    /**
     * The ID provided by the 3rd party provider for the given resource
     */
    id: string;
    /**
     * The ID assigned by Vercel for the given resource
     */
    internalId: string;
    /**
     * The name of the resource as it is recorded in Vercel
     */
    name: string;
    /**
     * The current status of the resource
     */
    status?: GetIntegrationResourceStatus | undefined;
    /**
     * The ID of the product the resource is derived from
     */
    productId: string;
    /**
     * Any settings provided for the resource to support its product's protocols
     */
    protocolSettings?: ProtocolSettings | undefined;
    /**
     * The notification, if set, displayed to the user when viewing the resource in Vercel
     */
    notification?: GetIntegrationResourceNotification | undefined;
    /**
     * The ID of the billing plan the resource is subscribed to, if applicable
     */
    billingPlanId?: string | undefined;
    /**
     * The configured metadata for the resource as defined by its product's Metadata Schema
     */
    metadata?: {
        [k: string]: string | number | Array<string> | Array<number> | boolean;
    } | undefined;
};
/** @internal */
export type GetIntegrationResourceRequest$Outbound = {
    integrationConfigurationId: string;
    resourceId: string;
};
/** @internal */
export declare const GetIntegrationResourceRequest$outboundSchema: z.ZodType<GetIntegrationResourceRequest$Outbound, z.ZodTypeDef, GetIntegrationResourceRequest>;
export declare function getIntegrationResourceRequestToJSON(getIntegrationResourceRequest: GetIntegrationResourceRequest): string;
/** @internal */
export declare const GetIntegrationResourceStatus$inboundSchema: z.ZodNativeEnum<typeof GetIntegrationResourceStatus>;
/** @internal */
export declare const Experimentation$inboundSchema: z.ZodType<Experimentation, z.ZodTypeDef, unknown>;
export declare function experimentationFromJSON(jsonString: string): SafeParseResult<Experimentation, SDKValidationError>;
/** @internal */
export declare const ProtocolSettings$inboundSchema: z.ZodType<ProtocolSettings, z.ZodTypeDef, unknown>;
export declare function protocolSettingsFromJSON(jsonString: string): SafeParseResult<ProtocolSettings, SDKValidationError>;
/** @internal */
export declare const GetIntegrationResourceLevel$inboundSchema: z.ZodNativeEnum<typeof GetIntegrationResourceLevel>;
/** @internal */
export declare const GetIntegrationResourceNotification$inboundSchema: z.ZodType<GetIntegrationResourceNotification, z.ZodTypeDef, unknown>;
export declare function getIntegrationResourceNotificationFromJSON(jsonString: string): SafeParseResult<GetIntegrationResourceNotification, SDKValidationError>;
/** @internal */
export declare const GetIntegrationResourceMetadata$inboundSchema: z.ZodType<GetIntegrationResourceMetadata, z.ZodTypeDef, unknown>;
export declare function getIntegrationResourceMetadataFromJSON(jsonString: string): SafeParseResult<GetIntegrationResourceMetadata, SDKValidationError>;
/** @internal */
export declare const GetIntegrationResourceResponseBody$inboundSchema: z.ZodType<GetIntegrationResourceResponseBody, z.ZodTypeDef, unknown>;
export declare function getIntegrationResourceResponseBodyFromJSON(jsonString: string): SafeParseResult<GetIntegrationResourceResponseBody, SDKValidationError>;
//# sourceMappingURL=getintegrationresourceop.d.ts.map