import * as z from "zod/v4-mini";
import { BenefitGitHubRepositoryCreateProperties, BenefitGitHubRepositoryCreateProperties$Outbound } from "./benefitgithubrepositorycreateproperties.js";
import { BenefitVisibility } from "./benefitvisibility.js";
export type BenefitGitHubRepositoryCreateMetadata = string | number | number | boolean;
export type BenefitGitHubRepositoryCreate = {
    /**
     * Key-value object allowing you to store additional information.
     *
     * @remarks
     *
     * The key must be a string with a maximum length of **40 characters**.
     * The value must be either:
     *
     * * A string with a maximum length of **500 characters**
     * * An integer
     * * A floating-point number
     * * A boolean
     *
     * You can store up to **50 key-value pairs**.
     */
    metadata?: {
        [k: string]: string | number | number | boolean;
    } | undefined;
    type: "github_repository";
    /**
     * The description of the benefit. Will be displayed on products having this benefit.
     */
    description: string;
    /**
     * The ID of the organization owning the benefit. **Required unless you use an organization token.**
     */
    organizationId?: string | null | undefined;
    /**
     * The visibility of the benefit in the customer portal.
     */
    visibility?: BenefitVisibility | null | undefined;
    /**
     * Properties to create a benefit of type `github_repository`.
     */
    properties: BenefitGitHubRepositoryCreateProperties;
};
/** @internal */
export type BenefitGitHubRepositoryCreateMetadata$Outbound = string | number | number | boolean;
/** @internal */
export declare const BenefitGitHubRepositoryCreateMetadata$outboundSchema: z.ZodMiniType<BenefitGitHubRepositoryCreateMetadata$Outbound, BenefitGitHubRepositoryCreateMetadata>;
export declare function benefitGitHubRepositoryCreateMetadataToJSON(benefitGitHubRepositoryCreateMetadata: BenefitGitHubRepositoryCreateMetadata): string;
/** @internal */
export type BenefitGitHubRepositoryCreate$Outbound = {
    metadata?: {
        [k: string]: string | number | number | boolean;
    } | undefined;
    type: "github_repository";
    description: string;
    organization_id?: string | null | undefined;
    visibility?: string | null | undefined;
    properties: BenefitGitHubRepositoryCreateProperties$Outbound;
};
/** @internal */
export declare const BenefitGitHubRepositoryCreate$outboundSchema: z.ZodMiniType<BenefitGitHubRepositoryCreate$Outbound, BenefitGitHubRepositoryCreate>;
export declare function benefitGitHubRepositoryCreateToJSON(benefitGitHubRepositoryCreate: BenefitGitHubRepositoryCreate): string;
//# sourceMappingURL=benefitgithubrepositorycreate.d.ts.map