import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { BenefitCustom, BenefitCustom$Outbound } from "./benefitcustom.js";
import { BenefitDiscord, BenefitDiscord$Outbound } from "./benefitdiscord.js";
import { BenefitDownloadables, BenefitDownloadables$Outbound } from "./benefitdownloadables.js";
import { BenefitFeatureFlag, BenefitFeatureFlag$Outbound } from "./benefitfeatureflag.js";
import { BenefitGitHubRepository, BenefitGitHubRepository$Outbound } from "./benefitgithubrepository.js";
import { BenefitLicenseKeys, BenefitLicenseKeys$Outbound } from "./benefitlicensekeys.js";
import { BenefitMeterCredit, BenefitMeterCredit$Outbound } from "./benefitmetercredit.js";
import { BenefitSlackSharedChannel, BenefitSlackSharedChannel$Outbound } from "./benefitslacksharedchannel.js";
export type Benefit = BenefitCustom | BenefitDiscord | BenefitDownloadables | BenefitFeatureFlag | BenefitGitHubRepository | BenefitLicenseKeys | BenefitMeterCredit | BenefitSlackSharedChannel;
/** @internal */
export declare const Benefit$inboundSchema: z.ZodMiniType<Benefit, unknown>;
/** @internal */
export type Benefit$Outbound = BenefitCustom$Outbound | BenefitDiscord$Outbound | BenefitDownloadables$Outbound | BenefitFeatureFlag$Outbound | BenefitGitHubRepository$Outbound | BenefitLicenseKeys$Outbound | BenefitMeterCredit$Outbound | BenefitSlackSharedChannel$Outbound;
/** @internal */
export declare const Benefit$outboundSchema: z.ZodMiniType<Benefit$Outbound, Benefit>;
export declare function benefitToJSON(benefit: Benefit): string;
export declare function benefitFromJSON(jsonString: string): SafeParseResult<Benefit, SDKValidationError>;
//# sourceMappingURL=benefit.d.ts.map