import type { _NSViewController } from "../AppKit/NSViewController.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _SKAdImpression } from "./SKAdImpression.js";
import type { _SKStoreProductViewControllerDelegate } from "./SKStoreProductViewControllerDelegate.js";
export declare class _SKStoreProductViewController extends _NSViewController {
    static alloc(): _SKStoreProductViewController;
    static new(): _SKStoreProductViewController;
    init(): _SKStoreProductViewController;
    /**
     * Load product view for the product with the given parameters. See below for parameters (SKStoreProductParameter*). Block is invoked when the load finishes.
     */
    loadProductWithParameters$completionBlock$(parameters: _NSDictionary, block: ((result: boolean, error: _NSError) => void) | null): void;
    /**
     * Load product view for the product with the given parameters and impression. See below for parameters (SKStoreProductParameter*) and SKAdImpression for impression properties. Block is invoked when the load finishes.
     */
    loadProductWithParameters$impression$completionBlock$(parameters: _NSDictionary, impression: _SKAdImpression, block: ((result: boolean, error: _NSError) => void) | null): void;
    /** Delegate for product page events */
    delegate(): _SKStoreProductViewControllerDelegate;
    setDelegate$(value: _SKStoreProductViewControllerDelegate): void;
}
