import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Status of the rebilling process for this line item.
 */
export declare const RebillStatus: {
    readonly Pending: "pending";
    readonly Billed: "billed";
    readonly Voided: "voided";
};
/**
 * Status of the rebilling process for this line item.
 */
export type RebillStatus = OpenEnum<typeof RebillStatus>;
/**
 * Rebilling metadata for this line item.
 */
export type Rebilling = {
    /**
     * Whether this line item is eligible for rebilling.
     */
    rebillable?: boolean | undefined;
    /**
     * Status of the rebilling process for this line item.
     */
    rebillStatus?: RebillStatus | null | undefined;
    /**
     * The ID of the transaction this line item was rebilled to.
     */
    linkedTransactionId?: string | null | undefined;
    /**
     * The ID of the line item in the rebilled transaction.
     */
    linkedTransactionLineId?: string | null | undefined;
};
/** @internal */
export declare const RebillStatus$inboundSchema: z.ZodType<RebillStatus, z.ZodTypeDef, unknown>;
/** @internal */
export declare const RebillStatus$outboundSchema: z.ZodType<string, z.ZodTypeDef, RebillStatus>;
/** @internal */
export declare const Rebilling$inboundSchema: z.ZodType<Rebilling, z.ZodTypeDef, unknown>;
/** @internal */
export type Rebilling$Outbound = {
    rebillable?: boolean | undefined;
    rebill_status?: string | null | undefined;
    linked_transaction_id?: string | null | undefined;
    linked_transaction_line_id?: string | null | undefined;
};
/** @internal */
export declare const Rebilling$outboundSchema: z.ZodType<Rebilling$Outbound, z.ZodTypeDef, Rebilling>;
export declare function rebillingToJSON(rebilling: Rebilling): string;
export declare function rebillingFromJSON(jsonString: string): SafeParseResult<Rebilling, SDKValidationError>;
//# sourceMappingURL=rebilling.d.ts.map