import type { OrderResultStatus } from '@devvit/protos/types/devvit/ui/effects/v1alpha/create_order.js';
import type { DevvitUIEffectEvent } from '../dispatcher/events.js';
import { EffectHandler } from './effect-handler.js';
export type OnResultCallback = (status: OrderResultStatus, orderId: string, errorCode?: number | undefined, errorMessage?: string | undefined) => void;
/**
 * Handles parsing app effects to handle CreateOrder effects
 */
export declare abstract class CreateOrderEffectHandler extends EffectHandler {
    protected readonly metadataKeys: string[];
    protected onEvent(ev: DevvitUIEffectEvent): void;
    /**
     * Implement this method to handle an order request from a dev platform app
     *
     * @param skus List of SKUs in the order
     * @param orderMetadata Additional developer-provided metadata to attach to the order receipt
     * @param callMetadata Additional dev platform metadata about the app making the request
     * @param onResult Callback for the client to call once the purchase flow has completed
     * @protected
     */
    protected abstract onOrder(skus: string[], orderMetadata: Record<string, string>, callMetadata: Record<string, string>, onResult: OnResultCallback): void;
}
//# sourceMappingURL=create-order-effect-handler.d.ts.map