import { PBXNativeTarget, XcodeProject } from "@bacons/xcode";
export type ExtensionType = "widget" | "notification-content" | "notification-service" | "share" | "intent" | "bg-download" | "intent-ui" | "spotlight" | "matter" | "quicklook-thumbnail" | "imessage" | "clip" | "watch" | "watch-widget" | "location-push" | "credentials-provider" | "account-auth" | "action" | "safari" | "app-intent" | "device-activity-monitor" | "network-packet-tunnel" | "network-app-proxy" | "network-filter-data" | "network-dns-proxy" | "keyboard";
export declare const KNOWN_EXTENSION_POINT_IDENTIFIERS: Record<string, ExtensionType>;
export declare const SHOULD_USE_APP_GROUPS_BY_DEFAULT: Record<ExtensionType, boolean>;
export declare function getTargetInfoPlistForType(type: ExtensionType): {
    NSExtension?: undefined;
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionAttributes: {
            NSExtensionActivationRule: {
                NSExtensionActivationSupportsFileWithMaxCount: number;
                NSExtensionActivationSupportsImageWithMaxCount: number;
                NSExtensionActivationSupportsMovieWithMaxCount: number;
                NSExtensionActivationSupportsText: boolean;
                NSExtensionActivationSupportsWebURLWithMaxCount: number;
            };
            NSExtensionJavaScriptPreprocessingFile: string;
            NSExtensionServiceAllowsFinderPreviewItem: boolean;
            NSExtensionServiceAllowsTouchBarItem: boolean;
            NSExtensionServiceFinderPreviewIconName: string;
            NSExtensionServiceTouchBarBezelColorName: string;
            NSExtensionServiceTouchBarIconName: string;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            CSSupportedContentTypes?: undefined;
            IntentsSupported?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
        NSExtensionPointIdentifier: string;
        NSExtensionPrincipalClass: string;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    EXAppExtensionAttributes: {
        EXExtensionPointIdentifier: string;
    };
    NSExtension?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    CFBundleName: string;
    CFBundleIdentifier: string;
    CFBundleVersion: string;
    CFBundleExecutable: string;
    CFBundlePackageType: string;
    CFBundleShortVersionString: string;
    UIApplicationSupportsIndirectInputEvents: boolean;
    NSAppClip: {
        NSAppClipRequestEphemeralUserNotification: boolean;
        NSAppClipRequestLocationConfirmation: boolean;
    };
    NSAppTransportSecurity: {
        NSAllowsArbitraryLoads: boolean;
        NSAllowsLocalNetworking: boolean;
    };
    UILaunchStoryboardName: string;
    UIUserInterfaceStyle: string;
    UIViewControllerBasedStatusBarAppearance: boolean;
    NSExtension?: undefined;
    EXAppExtensionAttributes?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionPointIdentifier: string | undefined;
        NSExtensionPrincipalClass: string;
        NSExtensionAttributes?: undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionPointIdentifier: string | undefined;
        NSExtensionPrincipalClass: string;
        NSExtensionAttributes: {
            ASAccountAuthenticationModificationSupportsStrongPasswordChange: boolean;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple: boolean;
            NSExtensionActivationRule?: undefined;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            CSSupportedContentTypes?: undefined;
            IntentsSupported?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionPointIdentifier: string | undefined;
        NSExtensionPrincipalClass: string;
        NSExtensionAttributes: {
            RequestsOpenAccess: boolean;
            IsASCIICapable: boolean;
            PrefersRightToLeft: boolean;
            PrimaryLanguage: string;
            NSExtensionActivationRule?: undefined;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            CSSupportedContentTypes?: undefined;
            IntentsSupported?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionAttributes: {
            NSExtensionActivationRule: string;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            CSSupportedContentTypes?: undefined;
            IntentsSupported?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
        NSExtensionPrincipalClass: string;
        NSExtensionPointIdentifier: string | undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionAttributes: {
            QLSupportedContentTypes: never[];
            QLThumbnailMinimumDimension: number;
            NSExtensionActivationRule?: undefined;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            CSSupportedContentTypes?: undefined;
            IntentsSupported?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
        NSExtensionPrincipalClass: string;
        NSExtensionPointIdentifier: string | undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    CSExtensionLabel: string;
    NSExtension: {
        NSExtensionAttributes: {
            CSSupportedContentTypes: string[];
            NSExtensionActivationRule?: undefined;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            IntentsSupported?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
        NSExtensionPrincipalClass: string;
        NSExtensionPointIdentifier: string | undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
} | {
    NSExtension: {
        NSExtensionAttributes: {
            IntentsSupported: string[];
            NSExtensionActivationRule?: undefined;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            CSSupportedContentTypes?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
        NSExtensionPrincipalClass: string;
        NSExtensionPointIdentifier: string | undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionAttributes: {
            IntentsRestrictedWhileLocked: never[];
            IntentsSupported: string[];
            NSExtensionActivationRule?: undefined;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            CSSupportedContentTypes?: undefined;
            UNNotificationExtensionCategory?: undefined;
            UNNotificationExtensionInitialContentSizeRatio?: undefined;
        };
        NSExtensionPrincipalClass: string;
        NSExtensionPointIdentifier: string | undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionAttributes: {
            UNNotificationExtensionCategory: string;
            UNNotificationExtensionInitialContentSizeRatio: number;
            NSExtensionActivationRule?: undefined;
            NSExtensionJavaScriptPreprocessingFile?: undefined;
            NSExtensionServiceAllowsFinderPreviewItem?: undefined;
            NSExtensionServiceAllowsTouchBarItem?: undefined;
            NSExtensionServiceFinderPreviewIconName?: undefined;
            NSExtensionServiceTouchBarBezelColorName?: undefined;
            NSExtensionServiceTouchBarIconName?: undefined;
            ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined;
            ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined;
            RequestsOpenAccess?: undefined;
            IsASCIICapable?: undefined;
            PrefersRightToLeft?: undefined;
            PrimaryLanguage?: undefined;
            QLSupportedContentTypes?: undefined;
            QLThumbnailMinimumDimension?: undefined;
            CSSupportedContentTypes?: undefined;
            IntentsSupported?: undefined;
            IntentsRestrictedWhileLocked?: undefined;
        };
        NSExtensionPrincipalClass: string;
        NSExtensionPointIdentifier: string | undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
} | {
    NSExtension: {
        NSExtensionPointIdentifier: string | undefined;
        NSExtensionAttributes?: undefined;
        NSExtensionPrincipalClass?: undefined;
    };
    EXAppExtensionAttributes?: undefined;
    CFBundleName?: undefined;
    CFBundleIdentifier?: undefined;
    CFBundleVersion?: undefined;
    CFBundleExecutable?: undefined;
    CFBundlePackageType?: undefined;
    CFBundleShortVersionString?: undefined;
    UIApplicationSupportsIndirectInputEvents?: undefined;
    NSAppClip?: undefined;
    NSAppTransportSecurity?: undefined;
    UILaunchStoryboardName?: undefined;
    UIUserInterfaceStyle?: undefined;
    UIViewControllerBasedStatusBarAppearance?: undefined;
    CSExtensionLabel?: undefined;
};
export declare function productTypeForType(type: ExtensionType): "com.apple.product-type.application.on-demand-install-capable" | "com.apple.product-type.application" | "com.apple.product-type.extensionkit-extension" | "com.apple.product-type.app-extension";
export declare function needsEmbeddedSwift(type: ExtensionType): boolean;
export declare function getFrameworksForType(type: ExtensionType): string[];
export declare function isNativeTargetOfType(target: PBXNativeTarget, type: ExtensionType): boolean;
export declare function getMainAppTarget(project: XcodeProject): PBXNativeTarget;
export declare function getAuxiliaryTargets(project: XcodeProject): PBXNativeTarget[];
export declare function getWatchAppTarget(project: XcodeProject): PBXNativeTarget | undefined;
