import type { NobjcObject } from "objc-js";
import type { _SKAdImpression } from "./SKAdImpression.js";
import type { _SKOverlayConfiguration } from "./SKOverlayConfiguration.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { SKOverlayPosition } from "./SKOverlayPosition.js";
export declare class _SKOverlayAppConfiguration extends _SKOverlayConfiguration {
    static alloc(): _SKOverlayAppConfiguration;
    static new(): _SKOverlayAppConfiguration;
    init(): _SKOverlayAppConfiguration;
    /**
     * Creates a new app overlay configuration that will show an app from the App Store. the app identifier of the app to show. the desired position of the overlay.
     */
    initWithAppIdentifier$position$(appIdentifier: _NSString, position: SKOverlayPosition): _SKOverlayAppConfiguration;
    setAdditionalValue$forKey$(value: NobjcObject | null, key: _NSString): void;
    additionalValueForKey$(key: _NSString): NobjcObject | null;
    setAdImpression$(impression: _SKAdImpression): void;
    /** The identifier of the app that will be shown. */
    appIdentifier(): _NSString;
    setAppIdentifier$(value: _NSString): void;
    /** A token representing an App Analytics campaign. */
    campaignToken(): _NSString | null;
    setCampaignToken$(value: _NSString | null): void;
    /** The provider token for the developer that created the app being presented. */
    providerToken(): _NSString | null;
    setProviderToken$(value: _NSString | null): void;
    /** An optional identifier for an app's custom product page. */
    customProductPageIdentifier(): NobjcObject;
    setCustomProductPageIdentifier$(value: NobjcObject): void;
    /**
     * An optional extra parameter for specifying the version of your app that will be shown to the user.
     */
    latestReleaseID(): NobjcObject;
    setLatestReleaseID$(value: NobjcObject): void;
    /** The position an overlay will show at on screen. */
    position(): SKOverlayPosition;
    setPosition$(value: SKOverlayPosition): void;
    /** Allows the user to interactively dismiss an overlay. */
    userDismissible(): boolean;
    setUserDismissible$(value: boolean): void;
}
