export type CampaignHandlerCleanup = "none" | { readonly archive: (contractId: string) => Promise; readonly discover: () => Promise; readonly trackCreated?: (contractId: string) => void; }; export interface CampaignHandler { readonly assume?: (context: Context, input: Input) => boolean | Promise; readonly cleanup: CampaignHandlerCleanup; readonly name: string; } export declare function handler(name: string, init: Omit, "name">): CampaignHandler; export declare function evaluateHandlerAssumptionAsync(value: CampaignHandler, context: Context, input: Input): Promise<{ readonly kind: "eligible"; } | { readonly kind: "discarded"; readonly reason: string; }>; export declare function bound(value: number, minimum: number, maximum: number): number; export declare function bound(value: bigint, minimum: bigint, maximum: bigint): bigint;